{"push_id":2814546241,"size":1,"distinct_size":1,"ref":"refs/heads/staging","head":"9260640a370ed0b7dfba202635fea97211def6d9","before":"d3f0099fd5dd5ad68e6058c7bef7ae9c23e64ac4","commits":[{"sha":"9260640a370ed0b7dfba202635fea97211def6d9","author":{"name":"craig[bot]","email":"3a2c29237f73c7cf88424b80e427b1884f346b35@cockroachlabs.com"},"message":"Merge #28872\n\n28872: kv: lie better about commits that are really rollbacks r=andreimatei a=andreimatei\n\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":true,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/9260640a370ed0b7dfba202635fea97211def6d9"}]}
{"actor":{"display_login":"craig"}}