{"push_id":2866700665,"size":5,"distinct_size":5,"ref":"refs/heads/next","head":"3f0643f34fc342097e925d2fd94349d422e6b06b","before":"4553238653ba22ce9035946e6190a7c71cbcc030","commits":[{"sha":"b3f1fe14e87bc0f8195e7019ef952bf6adcdccda","author":{"name":"Botond Dénes","email":"a584fa4d75a0a85d721f44fb6e06315a2853b0b6@scylladb.com"},"message":"multishard_mutation_query: fix possible deadlock when creating a reader fails\n\nFailing to create a reader (`do_make_remote_reader()`) can lead to a\ndeadlock if the reader is in any of the future_*_state states, as the\n`then()` block is not executed and hence the promise of the first\nfuture in the chain is not set. Avoid this by changing the `then()` to a\n`then_wrapped()` and using `set_exception()` and `set_value()`\naccordingly, such that the future is resolved on both the happy and\nerror path.","distinct":true,"url":"https://api.github.com/repos/scylladb/scylla/commits/b3f1fe14e87bc0f8195e7019ef952bf6adcdccda"},{"sha":"b6e1a8f32d8f3bc78e8403bdca5ab759fa4f7fda","author":{"name":"Botond Dénes","email":"a584fa4d75a0a85d721f44fb6e06315a2853b0b6@scylladb.com"},"message":"multishard_mutation_query: always cleanup readers properly\n\nCurrently the reader cleanup code, which ensures the readers and their\ndependent objects are destroyed in the corect order and a single\nsmp::submit_to() message, are only run when the readers are attempted to\nbe saved. However proper cleanup is needed not only then, but also when\nthe query is not stateful. Rename the current `cleanup()` method to\n`stop()`, make it public and call it from a `finally()` block after the\npage is finalized to ensure readers are properly cleaned up at all\ntimes.\nAlso make sure that failures in `stop()` are never propagated so that\na failure in the cleanup doesn't fail the read itself.","distinct":true,"url":"https://api.github.com/repos/scylladb/scylla/commits/b6e1a8f32d8f3bc78e8403bdca5ab759fa4f7fda"},{"sha":"b41be7c8e5453a7b5b846e5e0b5cb096cbfb0cef","author":{"name":"Botond Dénes","email":"a584fa4d75a0a85d721f44fb6e06315a2853b0b6@scylladb.com"},"message":"multishard_mutation_query: add comment to `read_context`\n\nExplain the purpose of the class and its intended usage and any gotchas\nthe reader/modifier of the code has to keep in mind.","distinct":true,"url":"https://api.github.com/repos/scylladb/scylla/commits/b41be7c8e5453a7b5b846e5e0b5cb096cbfb0cef"},{"sha":"7d71b42651fdbff57bd39d7df79ff3c9ca89be16","author":{"name":"Botond Dénes","email":"a584fa4d75a0a85d721f44fb6e06315a2853b0b6@scylladb.com"},"message":"multishard_mutation_query: add some tracing\n\nAdd tracing for the following events:\n1) Dismantling of the combined buffer.\n2) Dismantling of the compaction state.\n3) Cleaning up the readers.\n\n(1) and (2) can possibly have adverse effects on the performance of the\nquery and hence it is important that details about the dismantled\nfragments is exposed in the tracing data.\n(3) is less critical but still good to know how much readers were\ncreated by the read (in case they aren't saved). Since normally (in\nstrateful queries) this will always be 0 only trace this when it is\nnon-zero (and is interesting).","distinct":true,"url":"https://api.github.com/repos/scylladb/scylla/commits/7d71b42651fdbff57bd39d7df79ff3c9ca89be16"},{"sha":"3f0643f34fc342097e925d2fd94349d422e6b06b","author":{"name":"Duarte Nunes","email":"a60e8b7496f7715d71354fe4c06dd24017025bf1@scylladb.com"},"message":"Merge 'Misc improvements to stateful range scans' from Botond\n\n\"\nThis series contains miscellaneous improvements to the stateful range\nscans. These improvements are either things that I forgot to include in\nthe original series (tracing), was requested by other developers\n(comments) or I discovered them while reading the code (lockup and\ncleanup).\n\"\n\n* 'multishard_mutation_query_fixes/v1' of https://github.com/denesb/scylla:\n  multishard_mutation_query: add some tracing\n  multishard_mutation_query: add comment to `read_context`\n  multishard_mutation_query: always cleanup readers properly\n  multishard_mutation_query: fix possible deadlock when creating a reader fails","distinct":true,"url":"https://api.github.com/repos/scylladb/scylla/commits/3f0643f34fc342097e925d2fd94349d422e6b06b"}]}
{"actor":{"display_login":"duarten"}}