{"push_id":1373929235,"size":1,"distinct_size":1,"ref":"refs/heads/spencerkimball/remove-pseudo-command-cancel","head":"c85c6c4962d47f999e46cbf1526fcb4517c603cf","before":"610e2836998f173b258b9538ab7f9c4ba21db19e","commits":[{"sha":"c85c6c4962d47f999e46cbf1526fcb4517c603cf","author":{"name":"Spencer Kimball","email":"43d88d703c7bdc8f0e0140e90c0c34b9f645ad96@gmail.com"},"message":"Fix command cancellation in Replica.addWriteCmd\n\nThe cancellation of `Replica` commands was unsafe. Cancellation could\n\"succeed\" after the command was already proposed to raft and would be\nexecuted at all replicas. In these cases, the timestamp cache would\nnot be updated, and we'd return a `NodeUnavailableError` in the event\nthe stopper was shutting down, which is interpreted at the distributed\nsender as a definitive error meaning the command absolutely was not\nexecuted.\n\nWe now allow cancellation, but return an `AmbiguousResultError` in\ncase the context is cancelled or the stopper is quiesced. Meanwhile,\nwe start a goroutine to wait on the results in order to properly\nupdate the timestamp cache and end commands currently in the command\nqueue.","distinct":true,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/c85c6c4962d47f999e46cbf1526fcb4517c603cf"}]}
{"actor":{"display_login":"spencerkimball"}}