{"push_id":2826934506,"size":78,"distinct_size":2,"ref":"refs/heads/staging","head":"abdff9466f70fc9c76ff661fe7a6903a4265e737","before":"3cdd221e01048154f705e1efb130afb42338b462","commits":[{"sha":"8616300d8bf3bf7859ea1ec3818967220414407a","author":{"name":"Raphael 'kena' Poss","email":"ffa74aa72f5ed5e720c03212554d1e38d8a2905e@cockroachlabs.com"},"message":"sql: quantize the statement counts reported to the reg server\n\nThis preserves every count smaller than 10, then for larger values\nbucket into counts that are powers of 10.\n\nRelease note (sql change): CockroachDB now hides more information from\nthe statement statistics reported to Cockroach Labs.","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/8616300d8bf3bf7859ea1ec3818967220414407a"},{"sha":"618142dff4660cd011ca6391014c32e11bf4667a","author":{"name":"Peter Mattis","email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com"},"message":"storage: place replicas in purgatory when the range is below quorum\n\nWhen the replicate queue cannot process a replica because the range is\nbelow quorum, place the replica in purgatory so that it will be\nprocessed quickly upon a change in liveness. Failure to do this was\ncausing rare slowness to up-replicate a new cluster if a replica was\nprocessed before liveness had marked a node as live. Previously this\nfailure was masked by the scanner rapidly re-scanning replicas on test\nclusters, but this was changed in #27441 so that the scanner has a\nmin-idle-time between scanning replicas to avoid burning cpu.\n\nAlso fixes test flakiness that was a side effect of the slow\nup-replication. The \"had X ranges at startup, expected 22\" seems to be\ncaused by splits taking longer than expected on an overly stressed\ncluster (note that up-replication in the failed test is not a factor\nbecause the error here occurs when there is only a single node in the\ntest cluster). When test clusters up-replicate quicker there is less stress on\nthe system when running tests concurrently.\n\nFixes #28395\nFixes #28746\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/618142dff4660cd011ca6391014c32e11bf4667a"},{"sha":"17d0b95c54df5d26c25511ee98ab49c9920f0487","author":{"name":"Peter Mattis","email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com"},"message":"storage: update comment about purgatory\n\nForgot to push this in a previous commit.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/17d0b95c54df5d26c25511ee98ab49c9920f0487"},{"sha":"9964dd949c7d7ed8cd643fdb81fa80104ff70c1e","author":{"name":"Andrei Matei","email":"8dc7c09356db0b1762fb140617d7375c0a5a4131@cockroachlabs.com"},"message":"kv: lie better about commits that are really rollbacks\n\nWhen a client tries to commit a txn that has performed writes at an old\nepoch but has only done reads at the current epoch, one of the\nTxnCoordSender interceptors turns the commit into a rollback (for\nreasons described in the code).\nThis patch completes that interceptor's lie by updating the txn status\nupon success to COMMITTED instead of ABORTED. Since a commit is what the\nclient asked for, it seems sane to pretend as best we can that that's\nwhat it got. In particular, this is important for the sql module, where\nthe ConnExecutor looks at the txn proto's status to discriminate between\ncases where a \"1pc planNode\" already committed an implicit txn versus\nsituations where it needs to commit it itself. This was causing the\nexecutor to think the txn was not committed and to attempt to commit\nagain, which resulted in an error.\nI don't know if we like the ConnExecutor looking at the proto status,\nbut I'll leave that alone.\n\nFixes #28554\nFixes #28796\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/9964dd949c7d7ed8cd643fdb81fa80104ff70c1e"},{"sha":"65d0f330b97c7f4b43ddd680b0fe188717dd597d","author":{"name":"Andrei Matei","email":"8dc7c09356db0b1762fb140617d7375c0a5a4131@cockroachlabs.com"},"message":"kv: cleanup TestTxnRestartCount\n\nThis test had a subtest that wasn't testing anything.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/65d0f330b97c7f4b43ddd680b0fe188717dd597d"},{"sha":"8ff17b6c3dc2503758c27d7956ea1a7bbd1ed644","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28909\n\n28909: release-2.1: storage: place replicas in purgatory when the range is below quorum  r=andreimatei a=andreimatei\n\nBackport:\r\n  * 1/1 commits from \"storage: place replicas in purgatory when the range is below quorum\" (#28877)\r\n  * 1/1 commits from \"storage: update comment about purgatory\" (#28893)\r\n\r\nPlease see individual PRs for details.\r\n\r\n/cc @cockroachdb/release\r\n\n\nCo-authored-by: Peter Mattis <petermattis@gmail.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/8ff17b6c3dc2503758c27d7956ea1a7bbd1ed644"},{"sha":"dab7a982c4aea0439df8cadaaa889c2e0db9609b","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28911\n\n28911: release-2.1: kv: lie better about commits that are really rollbacks r=andreimatei a=andreimatei\n\ncc @cockroachdb/release \r\n\r\nBackport #28872\r\n\r\nWhen a client tries to commit a txn that has performed writes at an old\r\nepoch but has only done reads at the current epoch, one of the\r\nTxnCoordSender interceptors turns the commit into a rollback (for\r\nreasons described in the code).\r\nThis patch completes that interceptor's lie by updating the txn status\r\nupon success to COMMITTED instead of ABORTED. Since a commit is what the\r\nclient asked for, it seems sane to pretend as best we can that that's\r\nwhat it got. In particular, this is important for the sql module, where\r\nthe ConnExecutor looks at the txn proto's status to discriminate between\r\ncases where a \"1pc planNode\" already committed an implicit txn versus\r\nsituations where it needs to commit it itself. This was causing the\r\nexecutor to think the txn was not committed and to attempt to commit\r\nagain, which resulted in an error.\r\nI don't know if we like the ConnExecutor looking at the proto status,\r\nbut I'll leave that alone.\r\n\r\nFixes #28554\r\nFixes #28796\r\n\r\nRelease note: None\n\nCo-authored-by: Andrei Matei <andrei@cockroachlabs.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/dab7a982c4aea0439df8cadaaa889c2e0db9609b"},{"sha":"360f352878fad31d3447214c3c53ab5274f2cea6","author":{"name":"Nikhil Benesch","email":"0e70f566aa977bafe6ad237291a2aeff1c9dbb46@gmail.com"},"message":"client: restore txn.mu acquisition in OrigTimestamp et al.\n\nThis locking was removed in 69fa9f7cf, but I can't see how the resulting\ncode could be safe. Updates to txn.mu.sender can occur concurrently with\nTxn.OrigTimestamp, Txn.CommitTimestamp, and Txn.CommitTimestampFixed, as\nany concurrently-executing request that receives a\nTransactionAbortedError will install a new sender.\n\nIt is arguably a usage error to be calling Txn.SetSystemConfigTrigger or\nTxn.DisablePipelining in parallel with a request on the transaction, so\nit would probably be safe not to acquire txn.mu in those methods, but\nwhy take the risk?\n\nFix #28787.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/360f352878fad31d3447214c3c53ab5274f2cea6"},{"sha":"37bf604e2ff1b3016e4ed93f18fd0e2fefbe978f","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28906 #28908\n\n28906: release-2.1: sql: quantize the statement counts reported to the reg server r=knz a=knz\n\nBackport 1/1 commits from #27848.\r\n\r\n/cc @cockroachdb/release\r\n\r\n---\r\n\r\nFixes #25114.\r\n\r\nThis preserves every count smaller than 10, then for larger values\r\nbucket into buckets that are powers of 10.\r\n\r\nRelease note (sql change): CockroachDB now hides more information from\r\nthe statement statistics reported to Cockroach Labs.\r\n\n\n28908: release-2.1: client: restore txn.mu acquisition in OrigTimestamp et al. r=andreimatei a=benesch\n\nBackport 1/1 commits from #28907.\r\n\r\n/cc @cockroachdb/release\r\n\r\n---\r\n\r\nThis locking was removed in 69fa9f7cf, but I can't see how the resulting\r\ncode could be safe. Updates to txn.mu.sender can occur concurrently with\r\nTxn.OrigTimestamp, Txn.CommitTimestamp, and Txn.CommitTimestampFixed, as\r\nany concurrently-executing request that receives a\r\nTransactionAbortedError will install a new sender.\r\n\r\nIt is arguably a usage error to be calling Txn.SetSystemConfigTrigger or\r\nTxn.DisablePipelining in parallel with a request on the transaction, so\r\nit would probably be safe not to acquire txn.mu in those methods, but\r\nwhy take the risk?\r\n\r\nFix #28907.\r\n\r\nRelease note: None\n\nCo-authored-by: Raphael 'kena' Poss <knz@cockroachlabs.com>\nCo-authored-by: Nikhil Benesch <nikhil.benesch@gmail.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/37bf604e2ff1b3016e4ed93f18fd0e2fefbe978f"},{"sha":"cc8dc6a72a292f8001755f66decc56e9efd6cef6","author":{"name":"Radu Berinde","email":"8cd32adbfdfb986a6f0d684f7a16030a20d97029@cockroachlabs.com"},"message":"opt: add disable flag to opttester\n\nAdd a flag to norm/opt that disables specific rules.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/cc8dc6a72a292f8001755f66decc56e9efd6cef6"},{"sha":"15d65748f6370326fb39b2c51a88d766ed92edd0","author":{"name":"Radu Berinde","email":"8cd32adbfdfb986a6f0d684f7a16030a20d97029@cockroachlabs.com"},"message":"opt: add testcases showing stats problem\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/15d65748f6370326fb39b2c51a88d766ed92edd0"},{"sha":"1e52f8b8e55d566f6c06180d6b9894aa8af21ae2","author":{"name":"Radu Berinde","email":"8cd32adbfdfb986a6f0d684f7a16030a20d97029@cockroachlabs.com"},"message":"opt: reorganize selectivity calculations\n\nFixing a few issues with selectivity calculations, related to the\nhandling of constraints in conjunction with equivalencies. In\nprinciple, applying the filter `a=10 AND a=b` should result in similar\nstats with applying `a=10` and then applying `a=b` but this was not\nthe case.\n\nChanges:\n - We were updating the distinct counts to take into account the\n   equivalencies before we estimated selectivity. This can lead to the\n   selectivity of some constraints effectively being applied twice.\n   The call to applyEquivalencies is moved after the selectivity\n   calculations.\n\n - When calculating selectivity from distinct counts we were taking\n   into account equivalencies, even though we later apply the\n   selectivity of equivalencies separately. The fix is to only look at\n   the distinct count of each column, rather than taking the minimum\n   across the equivalency group.\n\n - When calculating selectivity for equivalency, we were looking\n   at the \"input\" distinct counts. But if some distinct counts were\n   updated by a constraint, we want to use the updated values; so the\n   code now checks `ColStats` first. An example with some intuition\n   for this: when applying a filter `a=10 AND a=b`, the behavior\n   should be the same with first applying filter `a=10` and then\n   applying `a=b`. So the \"input\" to the equivalency calculation needs\n   to reflect `a=10`.\n\n - Finally, another difference when handling a conjunction is that we\n   only calculate RowCount and bound the distinct counts at the end.\n   We now update the RowCount \"in step\" with Selectivity; in addition,\n   RowCount is used as an upper bound when consulting \"input\" stats.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/1e52f8b8e55d566f6c06180d6b9894aa8af21ae2"},{"sha":"73e2a6c6168be5c8a9b0272cd0cfdabf10594f5e","author":{"name":"Vivek Menezes","email":"be459340ddb9c8286fc08bebdce70ca287e03a1a@cockroachlabs.com"},"message":"sql: retry schema change on a communication error\n\nreturn pgerror.CodeConnectionFailureError from distsql\nwhen it sees a communication error.\n\nrelated to #27958\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/73e2a6c6168be5c8a9b0272cd0cfdabf10594f5e"},{"sha":"07790857fe718fe89886a7d154b0e5d3cc75e4b2","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28953\n\n28953: backport-2.1: sql: retry schema change on a communication error r=vivekmenezes a=vivekmenezes\n\nBackport 1/1 commits from #28769.\r\n\r\n/cc @cockroachdb/release\r\n\r\n---\r\n\r\nreturn pgerror.CodeConnectionFailureError from distsql\r\nwhen it sees a communication error.\r\n\r\nrelated to #27958\r\n\r\nRelease note: None\r\n\n\nCo-authored-by: Vivek Menezes <vivek@cockroachlabs.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/07790857fe718fe89886a7d154b0e5d3cc75e4b2"},{"sha":"dfcc87b57037e4d94addc39c82e8bf5d024415ed","author":{"name":"Raphael 'kena' Poss","email":"ffa74aa72f5ed5e720c03212554d1e38d8a2905e@cockroachlabs.com"},"message":"sql/testutils: avoid generating array-of-array datums\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/dfcc87b57037e4d94addc39c82e8bf5d024415ed"},{"sha":"4a1d6b60358c329b2f9b02e4e084caec7f9e6b5a","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28962\n\n28962: release-2.1: sql/testutils: avoid generating array-of-array datums r=knz a=knz\n\nBackport 1/1 commits from #28960.\r\n\r\n/cc @cockroachdb/release\r\n\r\n---\r\n\r\nFound while working on #28690.\r\n\n\nCo-authored-by: Raphael 'kena' Poss <knz@cockroachlabs.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/4a1d6b60358c329b2f9b02e4e084caec7f9e6b5a"},{"sha":"302e1c3a002854757c43ac14907c5f7720009dd3","author":{"name":"marc","email":"d33c80bc45d65303e33ca83108a9952b745af9ef@cockroachlabs.com"},"message":"cli: don't overwrite existing encryption key\n\nCaught during QA. See #21880\n\nAlso rewrite usage and flag descriptions.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/302e1c3a002854757c43ac14907c5f7720009dd3"},{"sha":"20999eaaaa70702f3b83fa421480ab3d7339ab61","author":{"name":"Alfonso Subiotto Marqués","email":"c90d2c47658527c7269e392e5667d767d36be1af@cockroachlabs.com"},"message":"distsql: disable EXPLAIN ANALYZE (DISTSQL) when distsql=off\n\nThis makes sense since queries should not be executed through distsql if\ndistsql=off.\n\nRelease note: None","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/20999eaaaa70702f3b83fa421480ab3d7339ab61"},{"sha":"8cfa0ab39be1f72e814ed75afee9d6850f399f0e","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28971\n\n28971: release-2.1: cli: don't overwrite existing encryption key r=mberhault a=mberhault\n\nBackport 1/1 commits from #28964.\r\n\r\n/cc @cockroachdb/release\r\n\r\n---\r\n\r\nCaught during QA. See #21880\r\n\r\nAlso rewrite usage and flag descriptions.\r\n\r\nRelease note: None\r\n\n\nCo-authored-by: marc <marc@cockroachlabs.com>","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/8cfa0ab39be1f72e814ed75afee9d6850f399f0e"},{"sha":"1ca504ac5a01645731919240501fe47789953638","author":{"name":"Daniel Harrison","email":"3a2f0da2a0c450062f2df795b8346ad513a9734a@gmail.com"},"message":"storageccl: allow specifying the google billing project\n\nRelease note (enterprise change): gs:// urls now support specifying the\nproject to be billed","distinct":false,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/1ca504ac5a01645731919240501fe47789953638"}]}
{"actor":{"display_login":"craig"}}