{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":791522,"defaultBranch":"develop-3.0","name":"riak_kv","ownerLogin":"basho","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-07-22T17:27:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/176293?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1691510779.0","currentOid":""},"activityList":{"items":[{"before":"7899683c08731bb820cce8a2900f61987b78895b","after":"a90b12913716e7bee6ef59463fab42e0c5d2fa39","ref":"refs/heads/mas-i1869-deferreap","pushedAt":"2023-08-08T19:43:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Update riak_kv.schema\n\nAdd config switch for `defer_reap_on_failure`","shortMessageHtmlLink":"Update riak_kv.schema"}},{"before":null,"after":"7899683c08731bb820cce8a2900f61987b78895b","ref":"refs/heads/mas-i1869-deferreap","pushedAt":"2023-08-08T16:06:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Defer reaps associated not prompted due to failure\n\nRather than wait for the next read (which may never happen) to repair - try and defer, as the reaper will not process until the failure has cleared.","shortMessageHtmlLink":"Defer reaps associated not prompted due to failure"}},{"before":"44bfdc44e5dd9aa3de7305a3d3af30ee8b90cda1","after":"10df0d951069094a63d3e9fc2e064945ba3ae6ce","ref":"refs/heads/develop","pushedAt":"2023-08-04T10:42:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Use 'RR' when a prunable vclock is replicated (#1866)\n\n* Use 'RR' when a prunable vclock is replicated\r\n\r\nThere may be some situations whereby a vector clock grows beyond the prescribed limits on the source cluster - in particular following read repair.\r\n\r\nIn these cases the new object needs to be replicated but with the same resulting vector clock (assuming no siblings). If the same vector clock does not result on the sink - any full-sync operation may continuously detect the delta, but not be able to resolve it (as the sink vnodes prune each time).\r\n\r\nThe 'rr' option will, on riak_kv_vnode, ensure pruning is bypassed so that we avoid pruning on a sink, if we have not pruned on a source. The 'rr' option is only used when the clock is prunable (as otherwise the delta could occur in the reverse direction).\r\n\r\nThe 'rr' option also blocks some sibling constraint checks (e.g. maximum number of siblings. However, as the most likely cause of it being applied is 'rr' on the src side - this is still generally a win for replication consistency.\r\n\r\n* Switch logic to put_fsm\r\n\r\nAlready know bucket props at this point. case only to be considered when `asis` - so should also work for riak_repl aae full-sync\r\n\r\n* Lose a line","shortMessageHtmlLink":"Use 'RR' when a prunable vclock is replicated (#1866)"}},{"before":"cee31e915888725c6b9b2f93b93d15495779d1c2","after":null,"ref":"refs/heads/mas-i1867-dql","pushedAt":"2023-07-25T12:32:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"ba58a97b855f98303506fa8563ef020316b04544","after":"b02f24e0d4554e4606ee75493fbbbc54d98f2d23","ref":"refs/heads/develop-3.0","pushedAt":"2023-07-25T12:31:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Reset deferred queue length on change (#1868)","shortMessageHtmlLink":"Reset deferred queue length on change (#1868)"}},{"before":null,"after":"cee31e915888725c6b9b2f93b93d15495779d1c2","ref":"refs/heads/mas-i1867-dql","pushedAt":"2023-07-21T10:56:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Reset deferred queue length on change","shortMessageHtmlLink":"Reset deferred queue length on change"}},{"before":"ba58a97b855f98303506fa8563ef020316b04544","after":null,"ref":"refs/heads/riak-3.0.16-nhsp1","pushedAt":"2023-07-18T09:33:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":null,"after":"ba58a97b855f98303506fa8563ef020316b04544","ref":"refs/heads/riak_kv-3.0.16-nhsp1","pushedAt":"2023-07-18T09:32:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Use 'RR' when a prunable vclock is replicated (#1866)\n\n* Use 'RR' when a prunable vclock is replicated\r\n\r\nThere may be some situations whereby a vector clock grows beyond the prescribed limits on the source cluster - in particular following read repair.\r\n\r\nIn these cases the new object needs to be replicated but with the same resulting vector clock (assuming no siblings). If the same vector clock does not result on the sink - any full-sync operation may continuously detect the delta, but not be able to resolve it (as the sink vnodes prune each time).\r\n\r\nThe 'rr' option will, on riak_kv_vnode, ensure pruning is bypassed so that we avoid pruning on a sink, if we have not pruned on a source. The 'rr' option is only used when the clock is prunable (as otherwise the delta could occur in the reverse direction).\r\n\r\nThe 'rr' option also blocks some sibling constraint checks (e.g. maximum number of siblings. However, as the most likely cause of it being applied is 'rr' on the src side - this is still generally a win for replication consistency.\r\n\r\n* Switch logic to put_fsm\r\n\r\nAlready know bucket props at this point. case only to be considered when `asis` - so should also work for riak_repl aae full-sync\r\n\r\n* Lose a line","shortMessageHtmlLink":"Use 'RR' when a prunable vclock is replicated (#1866)"}},{"before":null,"after":"ba58a97b855f98303506fa8563ef020316b04544","ref":"refs/heads/riak-3.0.16-nhsp1","pushedAt":"2023-07-18T09:30:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Use 'RR' when a prunable vclock is replicated (#1866)\n\n* Use 'RR' when a prunable vclock is replicated\r\n\r\nThere may be some situations whereby a vector clock grows beyond the prescribed limits on the source cluster - in particular following read repair.\r\n\r\nIn these cases the new object needs to be replicated but with the same resulting vector clock (assuming no siblings). If the same vector clock does not result on the sink - any full-sync operation may continuously detect the delta, but not be able to resolve it (as the sink vnodes prune each time).\r\n\r\nThe 'rr' option will, on riak_kv_vnode, ensure pruning is bypassed so that we avoid pruning on a sink, if we have not pruned on a source. The 'rr' option is only used when the clock is prunable (as otherwise the delta could occur in the reverse direction).\r\n\r\nThe 'rr' option also blocks some sibling constraint checks (e.g. maximum number of siblings. However, as the most likely cause of it being applied is 'rr' on the src side - this is still generally a win for replication consistency.\r\n\r\n* Switch logic to put_fsm\r\n\r\nAlready know bucket props at this point. case only to be considered when `asis` - so should also work for riak_repl aae full-sync\r\n\r\n* Lose a line","shortMessageHtmlLink":"Use 'RR' when a prunable vclock is replicated (#1866)"}},{"before":"e5b6f4206e0b10791d51b4f2f701bb33dd61ccca","after":null,"ref":"refs/heads/mas-i1864-vclockprune","pushedAt":"2023-07-18T09:17:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"e80a0699ffc5bc004b93e06c09197b79109d6844","after":"ba58a97b855f98303506fa8563ef020316b04544","ref":"refs/heads/develop-3.0","pushedAt":"2023-07-18T09:17:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Use 'RR' when a prunable vclock is replicated (#1866)\n\n* Use 'RR' when a prunable vclock is replicated\r\n\r\nThere may be some situations whereby a vector clock grows beyond the prescribed limits on the source cluster - in particular following read repair.\r\n\r\nIn these cases the new object needs to be replicated but with the same resulting vector clock (assuming no siblings). If the same vector clock does not result on the sink - any full-sync operation may continuously detect the delta, but not be able to resolve it (as the sink vnodes prune each time).\r\n\r\nThe 'rr' option will, on riak_kv_vnode, ensure pruning is bypassed so that we avoid pruning on a sink, if we have not pruned on a source. The 'rr' option is only used when the clock is prunable (as otherwise the delta could occur in the reverse direction).\r\n\r\nThe 'rr' option also blocks some sibling constraint checks (e.g. maximum number of siblings. However, as the most likely cause of it being applied is 'rr' on the src side - this is still generally a win for replication consistency.\r\n\r\n* Switch logic to put_fsm\r\n\r\nAlready know bucket props at this point. case only to be considered when `asis` - so should also work for riak_repl aae full-sync\r\n\r\n* Lose a line","shortMessageHtmlLink":"Use 'RR' when a prunable vclock is replicated (#1866)"}},{"before":"58875a075ff22687073c0b889d6d079e8a336d95","after":"e5b6f4206e0b10791d51b4f2f701bb33dd61ccca","ref":"refs/heads/mas-i1864-vclockprune","pushedAt":"2023-07-17T13:52:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Lose a line","shortMessageHtmlLink":"Lose a line"}},{"before":"951aab23b9544aabf9b0f0f8edf275284b4ec359","after":"58875a075ff22687073c0b889d6d079e8a336d95","ref":"refs/heads/mas-i1864-vclockprune","pushedAt":"2023-07-16T11:00:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Switch logic to put_fsm\n\nAlready know bucket props at this point. case only to be considered when `asis` - so should also work for riak_repl aae full-sync","shortMessageHtmlLink":"Switch logic to put_fsm"}},{"before":null,"after":"951aab23b9544aabf9b0f0f8edf275284b4ec359","ref":"refs/heads/mas-i1864-vclockprune","pushedAt":"2023-07-14T15:51:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Use 'RR' when a prunable vclock is replicated\n\nThere may be some situations whereby a vector clock grows beyond the prescribed limits on the source cluster - in particular following read repair.\n\nIn these cases the new object needs to be replicated but with the same resulting vector clock (assuming no siblings). If the same vector clock does not result on the sink - any full-sync operation may continuously detect the delta, but not be able to resolve it (as the sink vnodes prune each time).\n\nThe 'rr' option will, on riak_kv_vnode, ensure pruning is bypassed so that we avoid pruning on a sink, if we have not pruned on a source. The 'rr' option is only used when the clock is prunable (as otherwise the delta could occur in the reverse direction).\n\nThe 'rr' option also blocks some sibling constraint checks (e.g. maximum number of siblings. However, as the most likely cause of it being applied is 'rr' on the src side - this is still generally a win for replication consistency.","shortMessageHtmlLink":"Use 'RR' when a prunable vclock is replicated"}},{"before":"bfa634557beb645ae2685a5cd6db628bdf102175","after":"e80a0699ffc5bc004b93e06c09197b79109d6844","ref":"refs/heads/develop-3.0","pushedAt":"2023-06-22T14:31:11.806Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Update tag for release","shortMessageHtmlLink":"Update tag for release"}},{"before":"f171979cdc6431e60697e220d0a48bbed94b6c8d","after":"44bfdc44e5dd9aa3de7305a3d3af30ee8b90cda1","ref":"refs/heads/develop","pushedAt":"2023-06-09T12:59:57.802Z","pushType":"push","commitsCount":2,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Handle reap and erase in batches (#1862)\n\nAvoid overloading the eraser/reaper process mailbox by sending the requests in batches (as already happened with range_repl), and waiting for a response.\r\n\r\nWhen a job is used, not local, the batching is done from the clusteraae_fsm. This mechanism existed prior to this commit, and has not been changed, but has been extended to support the last-batch overflow","shortMessageHtmlLink":"Handle reap and erase in batches (#1862)"}},{"before":"d6acec0ccb95a2fb6bcd0e2bee376fb7303cd35b","after":null,"ref":"refs/heads/mas-i1861-batch","pushedAt":"2023-06-09T12:45:57.376Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"c6d9027243b05cf7c9f82d6aaeafb574212bd8ae","after":"bfa634557beb645ae2685a5cd6db628bdf102175","ref":"refs/heads/develop-3.0","pushedAt":"2023-06-09T12:45:52.603Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Handle reap and erase in batches (#1862)\n\nAvoid overloading the eraser/reaper process mailbox by sending the requests in batches (as already happened with range_repl), and waiting for a response.\r\n\r\nWhen a job is used, not local, the batching is done from the clusteraae_fsm. This mechanism existed prior to this commit, and has not been changed, but has been extended to support the last-batch overflow","shortMessageHtmlLink":"Handle reap and erase in batches (#1862)"}},{"before":"a4961e78561dfcfef629a63d086247cea26b46ad","after":null,"ref":"refs/heads/mas-i1857-replfactor","pushedAt":"2023-06-09T12:39:58.045Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"e9c20a880614252d7ce9988db0201b9693809187","after":"c6d9027243b05cf7c9f82d6aaeafb574212bd8ae","ref":"refs/heads/develop-3.0","pushedAt":"2023-06-09T12:39:52.534Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Add configurable vnode count on ngr (#1860)","shortMessageHtmlLink":"Add configurable vnode count on ngr (#1860)"}},{"before":null,"after":"d6acec0ccb95a2fb6bcd0e2bee376fb7303cd35b","ref":"refs/heads/mas-i1861-batch","pushedAt":"2023-06-08T12:33:59.020Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Handle reap and erase in batches\n\nAvoid overloading the eraser/reaper process mailbox by sending the requests in batches (as already happened with range_repl), and waiting for a response.\n\nWhen a job is used, not local, the batching is done from the clusteraae_fsm. This mechanism existed prior to this commit, and has not been changed, but has been extended to support the last-batch overflow","shortMessageHtmlLink":"Handle reap and erase in batches"}},{"before":null,"after":"a4961e78561dfcfef629a63d086247cea26b46ad","ref":"refs/heads/mas-i1857-replfactor","pushedAt":"2023-06-02T14:30:16.827Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Add configurable vnode count on ngr","shortMessageHtmlLink":"Add configurable vnode count on ngr"}},{"before":"be10204bfdd12f3c098d9afa7b870d4e138e7941","after":"f171979cdc6431e60697e220d0a48bbed94b6c8d","ref":"refs/heads/develop","pushedAt":"2023-05-12T15:12:49.274Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Don't trigger node confirms failure if clock expected (#1858)\n\nWhen etching an object for replication, enough nodes are found if the expected clock is true - but that might then fail on node_confirms. Don't generate the node_confirms response error if there has been a match on the expected clock","shortMessageHtmlLink":"Don't trigger node confirms failure if clock expected (#1858)"}},{"before":"ced3e4bc55fff61e6891f7fab824b1beaba1f7d4","after":null,"ref":"refs/heads/mas-i1857-replwithconfirms","pushedAt":"2023-05-12T14:51:12.826Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"0cf82728afc0a568dfdb8d5d0ca19d1248008a68","after":"e9c20a880614252d7ce9988db0201b9693809187","ref":"refs/heads/develop-3.0","pushedAt":"2023-05-12T14:47:25.966Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Don't trigger node confirms failure if clock expected (#1858)\n\nWhen etching an object for replication, enough nodes are found if the expected clock is true - but that might then fail on node_confirms. Don't generate the node_confirms response error if there has been a match on the expected clock","shortMessageHtmlLink":"Don't trigger node confirms failure if clock expected (#1858)"}},{"before":"b4e1eacf1b47554ba3a0dae3d57e95543ae1ea86","after":null,"ref":"refs/heads/mas-i405-backuperror","pushedAt":"2023-05-12T14:45:59.744Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"3220d52f5bfee77ab20160ea34e294b398ce0b90","after":null,"ref":"refs/heads/develop-hyper_update","pushedAt":"2023-05-12T14:45:42.596Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"}},{"before":"4c5dd91303f5bdcc9e3b37edbdc84958aefefc3b","after":"be10204bfdd12f3c098d9afa7b870d4e138e7941","ref":"refs/heads/develop","pushedAt":"2023-05-12T14:45:38.013Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"Update rebar.config (#1843)\n\n* Update rebar.config\r\n\r\n* Update rebar.config","shortMessageHtmlLink":"Update rebar.config (#1843)"}},{"before":"4ba7e86f5eae3710bcf3d9f8890e56303ae5990c","after":"4c5dd91303f5bdcc9e3b37edbdc84958aefefc3b","ref":"refs/heads/develop","pushedAt":"2023-05-12T14:44:07.642Z","pushType":"push","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"get_data_dir may return error (#1859)\n\nDon't crash vnode in this case","shortMessageHtmlLink":"get_data_dir may return error (#1859)"}},{"before":"b5d4da38d2a1b8d3c1e9320671c7a929624e1761","after":"0cf82728afc0a568dfdb8d5d0ca19d1248008a68","ref":"refs/heads/develop-3.0","pushedAt":"2023-05-12T14:30:10.295Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"martinsumner","name":"Martin Sumner","path":"/martinsumner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1628897?s=80&v=4"},"commit":{"message":"get_data_dir may return error (#1859)\n\nDon't crash vnode in this case","shortMessageHtmlLink":"get_data_dir may return error (#1859)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADZqF0BgA","startCursor":null,"endCursor":null}},"title":"Activity ยท basho/riak_kv"}