mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 10:41:12 +00:00
`paxos_response_handler::learn_decision` was calling `cdc_service::augment_mutation_call` concurrently with `storage_proxy::mutate_internal`. `augment_mutation_call` was selecting rows from the base table in order to create the preimage, while `mutate_internal` was writing rows to the table. It was therefore possible for the preimage to observe the update that it accompanied, which doesn't make any sense, because the preimage is supposed to show the state before the update. Fix this by performing the operations sequentially. We can still perform the CDC mutation write concurrently with the base mutation write. `cdc_with_lwt_test` was sometimes failing in debug mode due to this bug and was marked flaky. Unmark it. Also fix a comment in `cdc_with_lwt_test`. Fixes #12098 Closes #12768 * github.com:scylladb/scylladb: test/cql-pytest: test_cdc: regression test for #12098 test/cql: cdc_with_lwt_test: fix comment service: storage_proxy: sequence CDC preimage select with Paxos learn