{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":9433979,"defaultBranch":"main","name":"jepsen","ownerLogin":"jepsen-io","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-04-14T19:20:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19334403?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1706234421.0","currentOid":""},"activityList":{"items":[{"before":"bc98647f925b58c4986ffb3c1edc4a6acc12a8c8","after":"8be566bbb4ff4f897ac83f97a8728257c9f275ac","ref":"refs/heads/main","pushedAt":"2024-09-20T15:49:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"generator/each-process: like each-thread, but per-process","shortMessageHtmlLink":"generator/each-process: like each-thread, but per-process"}},{"before":"4e8d1efa426d58556bf1dcbcb6abde6528344238","after":"bc98647f925b58c4986ffb3c1edc4a6acc12a8c8","ref":"refs/heads/main","pushedAt":"2024-09-16T16:14:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"tests.kafka: more accurate dup detection\n\nWe used to detect only some duplicates when given inconsistent offsets.\nThis led me down one hell of an unnecessary rabbit-hole trying to figure\nout if the missing ones were actually duplicated or not. Now we do this\naccurately.","shortMessageHtmlLink":"tests.kafka: more accurate dup detection"}},{"before":"6c03cac8fda6603cda24da47b639e87b2a1611f0","after":"4e8d1efa426d58556bf1dcbcb6abde6528344238","ref":"refs/heads/main","pushedAt":"2024-08-30T12:57:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"tests.kafka: remove debug logging","shortMessageHtmlLink":"tests.kafka: remove debug logging"}},{"before":"fdbe563264045a26ee9566977068d59c0f0ac5ec","after":"6c03cac8fda6603cda24da47b639e87b2a1611f0","ref":"refs/heads/main","pushedAt":"2024-08-28T15:03:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Kafka: reduce frequency of subscribe ops to 1:64, tunable via :sub-p","shortMessageHtmlLink":"Kafka: reduce frequency of subscribe ops to 1:64, tunable via :sub-p"}},{"before":"2703d7c080d6bcef3986dcac4399d8a13773bc72","after":"fdbe563264045a26ee9566977068d59c0f0ac5ec","ref":"refs/heads/main","pushedAt":"2024-08-27T21:53:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"gen/map, f-map: nil passthrough\n\nWe rely on nemesis packages having a nil generator when we want to tell\nwhether they're going to do anything. Our f-map wrapper broke that when\nwe used role/restrict-nemesis-package. Now f-map passes through nil\ngens unchanged.","shortMessageHtmlLink":"gen/map, f-map: nil passthrough"}},{"before":"cf6a9f4559dbdfd07a11f9b9a3a2f96ca6f889f8","after":"2703d7c080d6bcef3986dcac4399d8a13773bc72","ref":"refs/heads/main","pushedAt":"2024-08-26T19:23:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"tests.kafka: duplicates now explain offsets\n\nIt was hard to track down exactly where duplicates occurred. Now we show\nthe offsets specifically.","shortMessageHtmlLink":"tests.kafka: duplicates now explain offsets"}},{"before":"a4b2b582b457887f705b5499cd6b6921e7f847d6","after":"cf6a9f4559dbdfd07a11f9b9a3a2f96ca6f889f8","ref":"refs/heads/main","pushedAt":"2024-08-26T15:10:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"role/restrict-nemesis-package: actual test, lift op :fs\n\nWe now have a basic test for restrict-nemesis-package. The restricted\ngenerators now emit ops with :f [role f], which means you can compose\nmultiple restricted nemeses easily.","shortMessageHtmlLink":"role/restrict-nemesis-package: actual test, lift op :fs"}},{"before":"e50985cc3b1894668c027d1104e3be2916ea53ed","after":"a4b2b582b457887f705b5499cd6b6921e7f847d6","ref":"refs/heads/main","pushedAt":"2024-08-22T20:33:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"tests.kafka: formatting","shortMessageHtmlLink":"tests.kafka: formatting"}},{"before":"d4ba6bb4fad95410b271c30752073726bb599fb8","after":"e50985cc3b1894668c027d1104e3be2916ea53ed","ref":"refs/heads/main","pushedAt":"2024-08-19T22:38:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"tests/kafka: check for transactions which read their own pre-committed writes","shortMessageHtmlLink":"tests/kafka: check for transactions which read their own pre-committe…"}},{"before":"9d2a64e011b80cd03bd78ed6905d5eb3417fc518","after":"d4ba6bb4fad95410b271c30752073726bb599fb8","ref":"refs/heads/main","pushedAt":"2024-08-16T12:59:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"role/restrict-*: flip to role, _ arg order\n\nI initially thought that (restrict-test test, role) was more sensible,\nbut it turns out that restricting nemesis packages and generators is\nmuch easier with needle, haystack order.","shortMessageHtmlLink":"role/restrict-*: flip to role, _ arg order"}},{"before":"4129217c7ae00ca37d9d72bcb939f2bb0a2c13f2","after":"9d2a64e011b80cd03bd78ed6905d5eb3417fc518","ref":"refs/heads/main","pushedAt":"2024-08-16T12:30:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"role/restrict-nemesis: restricts a nemesis to a role","shortMessageHtmlLink":"role/restrict-nemesis: restricts a nemesis to a role"}},{"before":"675b66083a98f8a350e9e5bbc2332cf3a4bc64d4","after":"4129217c7ae00ca37d9d72bcb939f2bb0a2c13f2","ref":"refs/heads/main","pushedAt":"2024-08-15T13:03:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"checker.perf/with-range: fix a bug with empty plots\n\nwith-range throws an error when given no data points, but in doing so it\nprinted the entire plot to compute an error message. Traversing the plot\nitself, via a lazy seq, could blow up!","shortMessageHtmlLink":"checker.perf/with-range: fix a bug with empty plots"}},{"before":"9a60405a87d7512113f1db876781575ffb502fa7","after":"675b66083a98f8a350e9e5bbc2332cf3a4bc64d4","ref":"refs/heads/main","pushedAt":"2024-08-13T22:29:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"roles: change :roles to a map of roles to nodes.\n\nThere are some cases where you want the nodes for a role to have a\nwell-defined order--for instance, when picking primaries. The map of\nnodes to roles forced us to reconstruct that order from (:nodes test),\nbut (:nodes test) gets restricted under some circumstances, making it\nhard to thread role data between different sub-databases. Flipping the\nstructure around means we can get everything we need for role operations\npurely from (:roles test). It's also a little more compact.","shortMessageHtmlLink":"roles: change :roles to a map of roles to nodes."}},{"before":"847bc9250a6cfa6f3fa2e28b0e65870c790443be","after":"9a60405a87d7512113f1db876781575ffb502fa7","ref":"refs/heads/main","pushedAt":"2024-08-13T13:51:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"role/restrict-test: also restrict barrier\n\nIn order for setup! to work correctly, we need restricted tests\nevaluated on a subset of nodes to have a smaller barrier--otherwise\nthe subset of nodes will block forever waiting on other nodes that will\nnever execute. This also prevents us from leaking barrier state between\ndifferent DBs.","shortMessageHtmlLink":"role/restrict-test: also restrict barrier"}},{"before":"72f0ef445aac421fdf5d68ffc8dd1b2b42ae4278","after":"847bc9250a6cfa6f3fa2e28b0e65870c790443be","ref":"refs/heads/main","pushedAt":"2024-08-12T21:29:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"db/map-test: Wraps a DB in another which rewrites the test map.\n\nThis is particularly helpful for composing multiple DBs together.","shortMessageHtmlLink":"db/map-test: Wraps a DB in another which rewrites the test map."}},{"before":"20924ace7b125256599a7d49a8a75296b40bcca3","after":"72f0ef445aac421fdf5d68ffc8dd1b2b42ae4278","ref":"refs/heads/main","pushedAt":"2024-08-12T20:24:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"jepsen.role: WIP helper for assigning nodes to specific roles in tests.\n\nWe do a bunch of tests where systems are a composite--some nodes are\nstorage, some transactors, etc. This namespace helps compose DBs that\nuse this approach.","shortMessageHtmlLink":"jepsen.role: WIP helper for assigning nodes to specific roles in tests."}},{"before":"2234a649fb9dc7c7fee9a01cd96b8bd7066bacb1","after":"20924ace7b125256599a7d49a8a75296b40bcca3","ref":"refs/heads/main","pushedAt":"2024-07-26T16:34:22.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:jepsen-io/jepsen","shortMessageHtmlLink":"Merge branch 'main' of github.com:jepsen-io/jepsen"}},{"before":"476448b424e8dce4a804dc6497d7e7bbaec5cd79","after":"2234a649fb9dc7c7fee9a01cd96b8bd7066bacb1","ref":"refs/heads/main","pushedAt":"2024-07-23T16:17:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #593 from lysu/patch-1\n\n centos: fix broken dpkg","shortMessageHtmlLink":"Merge pull request #593 from lysu/patch-1"}},{"before":"4f3cfe79404e348feffe6eb51895342b2140a1c2","after":"476448b424e8dce4a804dc6497d7e7bbaec5cd79","ref":"refs/heads/main","pushedAt":"2024-05-10T14:11:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #591 from markbradley27/catch-agent-not-found\n\njepsen.control.sshj: catch agent-not-found exceptions and continue trying other auth methods","shortMessageHtmlLink":"Merge pull request #591 from markbradley27/catch-agent-not-found"}},{"before":"dca647dba0637f87cdc05e20e7e3cdac05862b09","after":"4f3cfe79404e348feffe6eb51895342b2140a1c2","ref":"refs/heads/main","pushedAt":"2024-03-28T14:24:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #589 from jackyzha0/main\n\nchange base image to work on m1 (closes #588)","shortMessageHtmlLink":"Merge pull request #589 from jackyzha0/main"}},{"before":"a1cd00088b9921e026c43e9c41d4cbe1506df074","after":"dca647dba0637f87cdc05e20e7e3cdac05862b09","ref":"refs/heads/main","pushedAt":"2024-03-28T01:23:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #590 from nurturenature/ipv4-host-address\n\nexplicitly use ipv4 addresses for hosts in `control.net/ip*`","shortMessageHtmlLink":"Merge pull request #590 from nurturenature/ipv4-host-address"}},{"before":"3ec7e6c733b67f302628fe0f24944001b43136eb","after":"a1cd00088b9921e026c43e9c41d4cbe1506df074","ref":"refs/heads/main","pushedAt":"2024-01-26T02:01:06.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:jepsen-io/jepsen","shortMessageHtmlLink":"Merge branch 'main' of github.com:jepsen-io/jepsen"}},{"before":"d0a587ecec9f580a210738103918a819710d5d78","after":"7fd282d246dea6d538470ea0250c53b93b759237","ref":"refs/heads/gh-pages","pushedAt":"2024-01-26T02:00:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"0.3.5","shortMessageHtmlLink":"0.3.5"}},{"before":"870bffaa07ee838df041cf3f7f0d5e160a65a9d7","after":"3ec7e6c733b67f302628fe0f24944001b43136eb","ref":"refs/heads/main","pushedAt":"2024-01-26T01:59:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #583 from nurturenature/lxd-doc\n\nLXD doc for Debian Bookworm","shortMessageHtmlLink":"Merge pull request #583 from nurturenature/lxd-doc"}},{"before":"834b928ccd9c1bcafb6d9204722f183f1120c12b","after":"870bffaa07ee838df041cf3f7f0d5e160a65a9d7","ref":"refs/heads/main","pushedAt":"2024-01-26T01:49:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Dep upgrades\n\nRing 1.11.0\nSSHJ 0.38.0\nElle 0.2.1","shortMessageHtmlLink":"Dep upgrades"}},{"before":"4dd4631859d7aa8d455b53685bb6f9712389940c","after":"834b928ccd9c1bcafb6d9204722f183f1120c12b","ref":"refs/heads/main","pushedAt":"2024-01-24T17:36:03.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:jepsen-io/jepsen","shortMessageHtmlLink":"Merge branch 'main' of github.com:jepsen-io/jepsen"}},{"before":"bfd00cf838978bd465e4970326583c2a7acb7a0b","after":"4dd4631859d7aa8d455b53685bb6f9712389940c","ref":"refs/heads/main","pushedAt":"2024-01-19T14:09:02.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"Merge pull request #582 from ligurio/ligurio/mention-elle-cli\n\nReadme: add elle-cli to other projects","shortMessageHtmlLink":"Merge pull request #582 from ligurio/ligurio/mention-elle-cli"}},{"before":"873ac757d1a591e7da9c5f6912cb958d85407d13","after":"bfd00cf838978bd465e4970326583c2a7acb7a0b","ref":"refs/heads/main","pushedAt":"2024-01-19T13:23:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"net/drop! no longer needs to establish a fresh SSH connection","shortMessageHtmlLink":"net/drop! no longer needs to establish a fresh SSH connection"}},{"before":"94e45ed332349caad4e7bf0709de1e374ead21c4","after":"873ac757d1a591e7da9c5f6912cb958d85407d13","ref":"refs/heads/main","pushedAt":"2024-01-18T20:34:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"jepsen.net: pull Net protocol into jepsen.net.proto\n\nWe've been meaning to pull jepsen.Net down into jepsen.net.proto for a\nwhile, but haven't gotten around to it. This finishes that work. No\ncompatibility changes: the original fns are still available in\njepsen.net.","shortMessageHtmlLink":"jepsen.net: pull Net protocol into jepsen.net.proto"}},{"before":"b4239f3e7b3be954404f1a3d2aa32c42d88fb721","after":"94e45ed332349caad4e7bf0709de1e374ead21c4","ref":"refs/heads/main","pushedAt":"2024-01-18T17:43:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aphyr","name":"Kyle Kingsbury","path":"/aphyr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3748?s=80&v=4"},"commit":{"message":"os.debian: put locks around apt install/remove","shortMessageHtmlLink":"os.debian: put locks around apt install/remove"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNTo0OTo1MC4wMDAwMDBazwAAAAS8Iwgl","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNTo0OTo1MC4wMDAwMDBazwAAAAS8Iwgl","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0xOFQxNzo0MzozNi4wMDAwMDBazwAAAAPjSFR0"}},"title":"Activity · jepsen-io/jepsen"}