{"push_id":1090262967,"size":1,"distinct_size":1,"ref":"refs/heads/j/wormhole","head":"888d73b26e0d3a7592ae8e9d0c9878553889abcf","before":"1e810f9c4767d3b48b1b63863c040aeaf3d9ca31","commits":[{"sha":"888d73b26e0d3a7592ae8e9d0c9878553889abcf","author":{"email":"dabc572a42347a930fd039cd9bd44c49f94f3c94@zignar.net","name":"Mathias Fussenegger"},"message":"Add shard wormhole to handle shard relocation without retry\n\nThe retry logic is dangerous when executing queries with \"relative write\noperations\" (something like `x = x + 1`).\nIt could repeat a operation that was already successful.\n(E.g. x = x + 1 on shard 1 worked, but shard 2 failed)\n\nThis commit adds a shard-wormhole which will prevent shard failures due\nto relocations by proxying to another node.\n\nThis wormhole will only be used if the shard failure happens during the\ncreation of a `CrateDocCollector`.\n\nOther places (FetchContext creation, sorted collector creation, ...)\nwill still fail and require the retry logic. But in those cases there\nare no relative write operations so it is safe to retry.","distinct":true,"url":"https://api.github.com/repos/crate/crate/commits/888d73b26e0d3a7592ae8e9d0c9878553889abcf"}]}