Skip to content

Metrics requires 'comdb2_tables' & 'comdb2_queues'#5811

Merged
markhannum merged 1 commit intobloomberg:mainfrom
markhannum:fix_maxtable
Mar 16, 2026
Merged

Metrics requires 'comdb2_tables' & 'comdb2_queues'#5811
markhannum merged 1 commit intobloomberg:mainfrom
markhannum:fix_maxtable

Conversation

@markhannum
Copy link
Contributor

The maxtable test periodically crashes. The issue is that for the comdb2_metrics table, the code scans both the dbenv->dbs and dbenv->qdbs arrays, but only acquires the "comdb2_tables" lock. The crash occurs because a concurrent schema-change is modifying the qdbs array. This PR addresses by changing the structure to allow a systable to acquire multiple locks, and by acquiring both the 'comdb2_tables' and 'comdb2_queues' lock when accessing comdb2_metrics.

@markhannum markhannum force-pushed the fix_maxtable branch 2 times, most recently from c44ceb3 to 83c7445 Compare March 12, 2026 23:10
Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
scindex_logicalsc_generated [core dumped]
timepart_retention1 [core dumped]
simple_timepart_reptimeout_generated [core dumped]
sc_timepart_multiddl_generated [core dumped]
simple_timepart [core dumped]
sc_timepart [core dumped]
timepart_changeretention [core dumped]
sp_snapshot_generated [core dumped]
sp_queueodh_generated [core dumped]
systable_locking

@markhannum markhannum force-pushed the fix_maxtable branch 2 times, most recently from 134e5b9 to be6c612 Compare March 13, 2026 12:26
Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
sc_truncate_multiddl_generated
sc_resume_logicalsc_generated
consumer_non_atomic_default_consumer_generated
remsql_locks_rte_connect_generated
remsql_locks

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
consumer_non_atomic_default_consumer_generated
sc_transactional_rowlocks_generated
remsql_locks_rte_connect_generated
remsql_locks
reco-ddlk-sql

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
sc_resume
sc_timepart
sc_swapfields
consumer_non_atomic_default_consumer_generated
remsql_locks_rte_connect_generated
remsql_locks
reco-ddlk-sql

Signed-off-by: Mark Hannum <mhannum@bloomberg.net>
@markhannum markhannum merged commit e9cf3fb into bloomberg:main Mar 16, 2026
4 checks passed
@markhannum markhannum deleted the fix_maxtable branch March 16, 2026 12:59
Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
phys_rep_tiered_firstfile_generated
reco-ddlk-sql
consumer_non_atomic_default_consumer_generated
remsql_locks_rte_connect_generated
remsql_locks
skipscan
truncatesc_offline_generated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants