Race between sc_set_running(0) and ddl replication#5979
Conversation
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
sc_resume_logicalsc_generated **quarantined**
sc_setrunning_race **quarantined**
consumer_non_atomic_default_consumer_generated **quarantined**
tunables
reco-ddlk-sql [timeout] **quarantined**
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
sc_resume_logicalsc_generated **quarantined**
sqllogfill_reset_gen
reco-ddlk-sql **quarantined**
consumer_non_atomic_default_consumer_generated **quarantined**
sc_transactional_rowlocks_generated
basic_rowlocks_generated
tunables
Signed-off-by: Dorin Hogea <dhogea@bloomberg.net>
Signed-off-by: Dorin Hogea <dhogea@bloomberg.net>
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Success ✓.
Regression testing: Success ✓.
The first 10 failing tests are:
comdb2sys_pagesize_generated [setup failed]
consumer [setup failed]
sp_snapshot_generated
consumer_non_atomic_default_consumer_generated **quarantined**
sc_transactional_rowlocks_generated
remotecreate_twopc_generated
remotecreate
basic_rowlocks_generated
reco-ddlk-sql [timeout] **quarantined**
This adds a test to show the issue.
Adds gbl_test_sc_delay_after_unset_running tunable that inserts a configurable sleep between sc_set_running(0) and the return from osql_finalize_scs(), widening the window between the running flag clearing and trans_commit to reliably reproduce the race where stat shows no schema change running but tableversion is not yet committed.