{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":611015043,"defaultBranch":"main","name":"dalli","ownerLogin":"cornu-ammonis","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-03-07T23:42:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20233388?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1678394154.0","currentOid":""},"activityList":{"items":[{"before":"e692421ebc923144a98716f079ac5e4d172815a0","after":"8165012918dba029815ddc30ae25f7a30e1f572d","ref":"refs/heads/main","pushedAt":"2023-03-13T23:46:17.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"Merge pull request #2 from cornu-ammonis/safe-get\n\nsafe_get option which ensures key:value integrity even with socket corruption","shortMessageHtmlLink":"Merge pull request #2 from cornu-ammonis/safe-get"}},{"before":"cc4582b9dae68ace5a558ea21e93cce79eca5be8","after":"118cf5ac123cf5e86624bd2171d4216cba709531","ref":"refs/heads/safe-get","pushedAt":"2023-03-10T01:03:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"replace present? and simplify condition","shortMessageHtmlLink":"replace present? and simplify condition"}},{"before":"0a6574db211886f0d83246aaf833a9aaa8e1feec","after":"cc4582b9dae68ace5a558ea21e93cce79eca5be8","ref":"refs/heads/safe-get","pushedAt":"2023-03-09T23:17:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"safe_get/getk improvements","shortMessageHtmlLink":"safe_get/getk improvements"}},{"before":"1d43e4e9c1dd5f144fc554cf461fa53174edfbb1","after":"0a6574db211886f0d83246aaf833a9aaa8e1feec","ref":"refs/heads/safe-get","pushedAt":"2023-03-09T23:07:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"safe_get option using refined getk implementation","shortMessageHtmlLink":"safe_get option using refined getk implementation"}},{"before":null,"after":"1d43e4e9c1dd5f144fc554cf461fa53174edfbb1","ref":"refs/heads/safe-get","pushedAt":"2023-03-09T20:35:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"implement getk with key integrity check","shortMessageHtmlLink":"implement getk with key integrity check"}},{"before":"e695c8e9fdcb24048e9227d466a82a04ddd36d06","after":"ea158770291456457eb7cd7012c726c9fdae4557","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-08T01:02:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"move setup and noop into pipelined_get to avoid blocking issues","shortMessageHtmlLink":"move setup and noop into pipelined_get to avoid blocking issues"}},{"before":"b9af7e4a2615aff3670ce28cb1f8aab718b2d99d","after":"e695c8e9fdcb24048e9227d466a82a04ddd36d06","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-08T00:59:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"move setup and noop into pipelined_get to avoid blocking issues","shortMessageHtmlLink":"move setup and noop into pipelined_get to avoid blocking issues"}},{"before":"4395df52514c6e7728bad5b0b93ed42e7528d941","after":"b9af7e4a2615aff3670ce28cb1f8aab718b2d99d","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-08T00:53:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"move setup and noop into pipelined_get to avoid blocking issues","shortMessageHtmlLink":"move setup and noop into pipelined_get to avoid blocking issues"}},{"before":"7b03e9488ff9da84acd1dd7d50ddc5256bebfb66","after":"a5596725de8ebfa7c4a18cb11107937af26d932d","ref":"refs/heads/debug","pushedAt":"2023-03-08T00:37:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"more debug","shortMessageHtmlLink":"more debug"}},{"before":"2b9c756964d0a5c1d5ff89f37a38eeaffdab60a1","after":"7b03e9488ff9da84acd1dd7d50ddc5256bebfb66","ref":"refs/heads/debug","pushedAt":"2023-03-08T00:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"try making noop nonblocking too","shortMessageHtmlLink":"try making noop nonblocking too"}},{"before":null,"after":"2b9c756964d0a5c1d5ff89f37a38eeaffdab60a1","ref":"refs/heads/debug","pushedAt":"2023-03-08T00:18:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"debug helpers","shortMessageHtmlLink":"debug helpers"}},{"before":"d656ac2b495263e925c4e1a362c0b3d5ff27bf4e","after":"4395df52514c6e7728bad5b0b93ed42e7528d941","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-08T00:05:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"introduce write_nonblock for pipelined_get\n\nso we can start_request! before get_multi's write operations","shortMessageHtmlLink":"introduce write_nonblock for pipelined_get"}},{"before":"021bc898a7e80e725319889d61158284ae983468","after":"d656ac2b495263e925c4e1a362c0b3d5ff27bf4e","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-07T23:54:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"fix get_multi socket corruption: verify/lock connection first\n\nCurrently there is a race condition: if something happens between make_getkq_requests and finish_queries, the getkq request responses will be written to the socket, but the sockets @request_in_progress flag will not be set. This means that future gets may read corrupted/incorrect socket data.\n\nInstead we should conceive of the \"request\" as starting as soon as we go to write the getkq to the servers. Therefore we should verify the op and mark start_request! prior to sending the getkq ops.","shortMessageHtmlLink":"fix get_multi socket corruption: verify/lock connection first"}},{"before":"e692421ebc923144a98716f079ac5e4d172815a0","after":"021bc898a7e80e725319889d61158284ae983468","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-07T23:53:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"fix get_multi socket corruption: verify/lock connection first\n\nCurrently there is a race condition: if something happens between make_getkq_requests and finish_queries, the getkq request responses will be written to the socket, but the sockets @request_in_progress flag will not be set. This means that future gets may read corrupted/incorrect socket data.\n\nInstead we should conceive of the \"request\" as starting as soon as we go to write the getkq to the servers. Therefore we should verify the op and mark start_request! prior to sending the getkq ops.","shortMessageHtmlLink":"fix get_multi socket corruption: verify/lock connection first"}},{"before":null,"after":"e692421ebc923144a98716f079ac5e4d172815a0","ref":"refs/heads/fix-multiget-socket-corruption","pushedAt":"2023-03-07T23:43:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cornu-ammonis","name":"Andrew Jones","path":"/cornu-ammonis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20233388?s=80&v=4"},"commit":{"message":"Prepare for 3.2.4 (#954)","shortMessageHtmlLink":"Prepare for 3.2.4 (petergoldstein#954)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADAqm5LQA","startCursor":null,"endCursor":null}},"title":"Activity ยท cornu-ammonis/dalli"}