{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":631619767,"defaultBranch":"main","name":"corrosion","ownerLogin":"superfly","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-04-23T15:42:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22525303?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1723238895.0","currentOid":""},"activityList":{"items":[{"before":"161afa411e0aede4cc5db93988a3a20583fec9c2","after":null,"ref":"refs/heads/add-runtime-feature-to-hyper","pushedAt":"2024-08-09T21:28:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DAlperin","name":"Dov Alperin","path":"/DAlperin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16063713?s=80&v=4"}},{"before":"9ae22b2aaea802cf6dd1dae1680b75035f7b8236","after":"9a91edddf9b3e7f09d671d1d36626cd685c0737d","ref":"refs/heads/main","pushedAt":"2024-08-09T21:28:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DAlperin","name":"Dov Alperin","path":"/DAlperin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16063713?s=80&v=4"},"commit":{"message":"Merge pull request #251 from superfly/add-runtime-feature-to-hyper\n\nAdd the `runtime` feature to hyper. Not sure how this ever worked","shortMessageHtmlLink":"Merge pull request #251 from superfly/add-runtime-feature-to-hyper"}},{"before":null,"after":"161afa411e0aede4cc5db93988a3a20583fec9c2","ref":"refs/heads/add-runtime-feature-to-hyper","pushedAt":"2024-08-09T21:25:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DAlperin","name":"Dov Alperin","path":"/DAlperin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16063713?s=80&v=4"},"commit":{"message":"Add the `runtime` feature to hyper. Not sure how this ever worked","shortMessageHtmlLink":"Add the runtime feature to hyper. Not sure how this ever worked"}},{"before":"e50b92546ae6c4588e5fd9b15b8d6d4fb0f480b2","after":"9ae22b2aaea802cf6dd1dae1680b75035f7b8236","ref":"refs/heads/main","pushedAt":"2024-08-01T13:51:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeromegn","name":"Jerome Gravel-Niquet","path":"/jeromegn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43325?s=80&v=4"},"commit":{"message":"manually drop snapshot without running its destructor\n\nthis fixes the panic in debug build:\n\n thread 'tokio-runtime-worker' panicked at crates/corro-types/src/agent.rs:1306:9:\n max value was not applied\n\nsteps to reproduce:\n\n - schema\n\n CREATE TABLE todos (\n id INTEGER NOT NULL PRIMARY KEY,\n title TEXT NOT NULL DEFAULT ''\n );\n\n - node A\n\n ./corrosion -c corro.toml exec 'INSERT INTO todos (id, title) VALUES (1, \"test todo\")'\n\n - node B\n\n ./corrosion -c corro.toml query 'SELECT * FROM todos'\n ./corrosion -c corro.toml exec 'DELETE FROM todos WHERE id == 1'\n\n now node A crashes with assert message `max value was not applied`\n\nSigned-off-by: runsisi ","shortMessageHtmlLink":"manually drop snapshot without running its destructor"}},{"before":"8f8e552e1a4782438b9df37a06167fa9eebd67e9","after":"e50b92546ae6c4588e5fd9b15b8d6d4fb0f480b2","ref":"refs/heads/main","pushedAt":"2024-07-30T13:13:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeromegn","name":"Jerome Gravel-Niquet","path":"/jeromegn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43325?s=80&v=4"},"commit":{"message":"cli/cluster members: send success reponse to close admin conn properly\n\notherwise admin command `corrosion cluster members` never finishes\n\nSigned-off-by: runsisi ","shortMessageHtmlLink":"cli/cluster members: send success reponse to close admin conn properly"}},{"before":"6835bfc66503b8f9fb456be7dd1851b53a7fc4a1","after":null,"ref":"refs/heads/handle-deser-error","pushedAt":"2024-07-30T12:44:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"}},{"before":"f93048a05dc17d750306850b4ef9352853e2ebcf","after":"8f8e552e1a4782438b9df37a06167fa9eebd67e9","ref":"refs/heads/main","pushedAt":"2024-07-30T12:44:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"Merge pull request #246 from superfly/handle-deser-error\n\ncorro-client: handle deserialization error correctly","shortMessageHtmlLink":"Merge pull request #246 from superfly/handle-deser-error"}},{"before":"82e68799bdcd7806f006b2174c2bc6505274d681","after":null,"ref":"refs/heads/fix-catchup-v2","pushedAt":"2024-07-30T11:16:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jeromegn","name":"Jerome Gravel-Niquet","path":"/jeromegn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43325?s=80&v=4"}},{"before":"4ed92e8f6ee2fee19013fb969b552fb855c82a2e","after":"f93048a05dc17d750306850b4ef9352853e2ebcf","ref":"refs/heads/main","pushedAt":"2024-07-30T11:16:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeromegn","name":"Jerome Gravel-Niquet","path":"/jeromegn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43325?s=80&v=4"},"commit":{"message":"pubsub: fix a subtle race in catch up logic for barely active subs (#247)\n\nThe order of events processing when Corrosion is handling a change is:\r\n - determine changes\r\n - send changes to the channel\r\n - commit changes to sub DB\r\n\r\nWhen Corrosion client is catching up it subscribes to changes sent to\r\nthe channel and queries the full sub DB. It's possibly that the query\r\nis run *before* the changes are committed, but after they've been sent\r\nto the channel, so what happens is:\r\n\r\n * A change with ID N is processed by Corrosion and sent to the channel\r\n * catch up logic starts and subscribes to changes, but doesn't see\r\n this change\r\n * sub DB is read and sent to the client, last committed change ID is\r\n N - 1, so EndOfQuery{change_id: N - 1} is sent to the client\r\n * corrosion commits the last update so the last change in the DB becomes\r\n N\r\n * catch up handler has min_change_id = N - 1 + 1, so when it compares\r\n last sent change ID (N) with min_change_id (N) it ignores it becase\r\n the comparison is strictly greater.\r\n\r\nmin_change_id is what we expect to receive, so the fix is trivial -\r\ncomparison should be greater or equal.","shortMessageHtmlLink":"pubsub: fix a subtle race in catch up logic for barely active subs (#247"}},{"before":null,"after":"82e68799bdcd7806f006b2174c2bc6505274d681","ref":"refs/heads/fix-catchup-v2","pushedAt":"2024-07-30T08:49:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"pubsub: fix a subtle race in catch up logic for barely active subs\n\nThe order of events processing when Corrosion is handling a change is:\n - determine changes\n - send changes to the channel\n - commit changes to sub DB\n\nWhen Corrosion client is catching up it subscribes to changes sent to\nthe channel and queries the full sub DB. It's possibly that the query\nis run *before* the changes are committed, but after they've been sent\nto the channel, so what happens is:\n\n * A change with ID N is processed by Corrosion and sent to the channel\n * catch up logic starts and subscribes to changes, but doesn't see\n this change\n * sub DB is read and sent to the client, last committed change ID is\n N - 1, so EndOfQuery{change_id: N - 1} is sent to the client\n * corrosion commits the last update so the last change in the DB becomes\n N\n * catch up handler has min_change_id = N - 1 + 1, so when it compares\n last sent change ID (N) with min_change_id (N) it ignores it becase\n the comparison is strictly greater.\n\nmin_change_id is what we expect to receive, so the fix is trivial -\ncomparison should be greater or equal.","shortMessageHtmlLink":"pubsub: fix a subtle race in catch up logic for barely active subs"}},{"before":"f988caae33b06cfd4c56c408704d1d420a3efe6a","after":"6835bfc66503b8f9fb456be7dd1851b53a7fc4a1","ref":"refs/heads/handle-deser-error","pushedAt":"2024-07-29T16:55:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"corro-client: handle deserialization error correctly\n\nChange ID still needs to be updated even if the event fails to deserialize","shortMessageHtmlLink":"corro-client: handle deserialization error correctly"}},{"before":null,"after":"f988caae33b06cfd4c56c408704d1d420a3efe6a","ref":"refs/heads/handle-deser-error","pushedAt":"2024-07-29T13:19:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"corro-client: handle deserialization error correctly\n\nChange ID still needs to be incremented even if the entry is not valid.","shortMessageHtmlLink":"corro-client: handle deserialization error correctly"}},{"before":"95e37004a466bf6e5bc56202ff7c7ac983a4e9b6","after":null,"ref":"refs/heads/missed-change-details","pushedAt":"2024-07-29T13:08:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"}},{"before":"6b04f279302b8b69e0bb1fe8cdcfdac2bfdb1c13","after":"4ed92e8f6ee2fee19013fb969b552fb855c82a2e","ref":"refs/heads/main","pushedAt":"2024-07-29T13:08:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"Merge pull request #244 from superfly/missed-change-details\n\ncorro-client: add expected and received change ID to MissedChange error","shortMessageHtmlLink":"Merge pull request #244 from superfly/missed-change-details"}},{"before":"c472709df3ec035e917bbbac08c2c4f4362ffd28","after":"9262ec0d9f517d11111a530eb3b9f6fc0d5c7daa","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-26T13:04:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"update last_empty_ts for only new members","shortMessageHtmlLink":"update last_empty_ts for only new members"}},{"before":"555c691880e4fcb421d5504ab820eee327af12ad","after":"c472709df3ec035e917bbbac08c2c4f4362ffd28","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-26T09:38:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"revert some","shortMessageHtmlLink":"revert some"}},{"before":"eaa15cac0361e17a7f9e2a75a2841bb675bc7e19","after":"555c691880e4fcb421d5504ab820eee327af12ad","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-26T09:35:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"Store last seen empty ts and use it when requesting empties","shortMessageHtmlLink":"Store last seen empty ts and use it when requesting empties"}},{"before":"587312069d1b7dbceceb7c1dc095b50b4d0a5542","after":"eaa15cac0361e17a7f9e2a75a2841bb675bc7e19","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-26T09:30:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"Store last seen empty ts and use it when requesting empties","shortMessageHtmlLink":"Store last seen empty ts and use it when requesting empties"}},{"before":"d0ea7e93d05ab2988fc555108df4114a68c4a3f7","after":"587312069d1b7dbceceb7c1dc095b50b4d0a5542","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-25T12:29:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"better rep","shortMessageHtmlLink":"better rep"}},{"before":null,"after":"95e37004a466bf6e5bc56202ff7c7ac983a4e9b6","ref":"refs/heads/missed-change-details","pushedAt":"2024-07-25T12:24:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"corro-client: add expected and received change ID to MissedChange error\n\nWe still get them and it's not clear what's going on. Maybe known\nthe actual change IDs will help.","shortMessageHtmlLink":"corro-client: add expected and received change ID to MissedChange error"}},{"before":"234081993fcc4f0210f2614ef4329aa170cfe746","after":"d0ea7e93d05ab2988fc555108df4114a68c4a3f7","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-25T12:14:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"moreee","shortMessageHtmlLink":"moreee"}},{"before":"05f1f810b17555e50663c383cd9343181d59940c","after":"234081993fcc4f0210f2614ef4329aa170cfe746","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-25T11:31:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"happen","shortMessageHtmlLink":"happen"}},{"before":null,"after":"05f1f810b17555e50663c383cd9343181d59940c","ref":"refs/heads/debug-big-db","pushedAt":"2024-07-25T11:29:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"logs","shortMessageHtmlLink":"logs"}},{"before":"37ac4d10ffd92a5f97d2dc5f9bdd1321819b1fc7","after":"aa48dcab9a2f2e754639ed85225864185cdc167f","ref":"refs/heads/debug-cleared-ts","pushedAt":"2024-07-25T11:07:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"always send last ts during sync","shortMessageHtmlLink":"always send last ts during sync"}},{"before":"a3276f932b1fcf7c936b1eedcbf5ec003e73874a","after":null,"ref":"refs/heads/fix-catchup","pushedAt":"2024-07-24T15:05:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"}},{"before":"5f338b766428cd2c8bdaca14b323d8d0bc88f325","after":"6b04f279302b8b69e0bb1fe8cdcfdac2bfdb1c13","ref":"refs/heads/main","pushedAt":"2024-07-24T15:05:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"Merge pull request #242 from superfly/fix-catchup\n\npubsub: fix catch up logic","shortMessageHtmlLink":"Merge pull request #242 from superfly/fix-catchup"}},{"before":null,"after":"37ac4d10ffd92a5f97d2dc5f9bdd1321819b1fc7","ref":"refs/heads/debug-cleared-ts","pushedAt":"2024-07-24T14:45:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"make wal_threshold configurable","shortMessageHtmlLink":"make wal_threshold configurable"}},{"before":"2a1fc0a3d15ce2800afdbfb13b211bcc032f4588","after":"a3276f932b1fcf7c936b1eedcbf5ec003e73874a","ref":"refs/heads/fix-catchup","pushedAt":"2024-07-24T07:58:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pborzenkov","name":"Pavel Borzenkov","path":"/pborzenkov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/434254?s=80&v=4"},"commit":{"message":"pubsub: fix catch up logic\n\nMake sure to update minimum expected change ID when retrying catch up\nso that it can actually proceed if the first attempt fails.","shortMessageHtmlLink":"pubsub: fix catch up logic"}},{"before":"45a2daf96f44d44a60f4f6d9d03ac45fc60a058b","after":null,"ref":"refs/heads/debug-cleared-ts","pushedAt":"2024-07-23T21:07:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"}},{"before":"d78072d60b2edfb774f24ea75bab1fe5e2142729","after":"5f338b766428cd2c8bdaca14b323d8d0bc88f325","ref":"refs/heads/main","pushedAt":"2024-07-23T21:07:38.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"somtochiama","name":"Somtochi Onyekwere","path":"/somtochiama","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34774756?s=80&v=4"},"commit":{"message":"Merge pull request #241 from superfly/debug-cleared-ts\n\nCommit transaction to update last_cleared_ts in sync state table","shortMessageHtmlLink":"Merge pull request #241 from superfly/debug-cleared-ts"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAElqagkAA","startCursor":null,"endCursor":null}},"title":"Activity ยท superfly/corrosion"}