Skip to content

bdb thread locking info is same now for both rdonly and rdwr#5910

Open
dorinhogea wants to merge 1 commit intobloomberg:mainfrom
dorinhogea:onebdblock
Open

bdb thread locking info is same now for both rdonly and rdwr#5910
dorinhogea wants to merge 1 commit intobloomberg:mainfrom
dorinhogea:onebdblock

Conversation

@dorinhogea
Copy link
Copy Markdown
Contributor

/plugin-branch onebdblock

Copy link
Copy Markdown

@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:
sirace [setup failed with core dumped]
catchup_idle [setup failed with core dumped]
cinsert_linearizable [setup failed with core dumped]
maxtable [setup failed with core dumped]
socksql_master_swings [setup failed with core dumped]
truncatesc [setup failed with core dumped] **quarantined**
phys_rep_tiered [setup failed with core dumped]
phys_rep_tiered_nosource_generated [setup failed with core dumped]
phys_rep_tiered_firstfile_generated [setup failed with core dumped]
truncatesc_offline_generated [setup failed with core dumped] **quarantined**

Signed-off-by: Dorin Hogea <dhogea@bloomberg.net>
Copy link
Copy Markdown

@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 **quarantined**
remsql_locks_rte_connect_generated **quarantined**
remsql_locks **quarantined**
reco-ddlk-sql [timeout] **quarantined**

@dorinhogea
Copy link
Copy Markdown
Contributor Author

In case it is not clear (look at bdb_thread_event), the changed code does not LOCK, it only prepares the thread for later locking. Originally, we used to do things different depending on the flag. That is not true anymore.
The PR does the following:

  • replace 4 COMDB2_THR_EVENT_START/DONE_RDONLY/RDWR with just two flags COMDB2_THR_EVENT_START/DONE; these flags are used with backend_thread_event
  • remove BDBTHR_EVENT_START/DONE_RDONLY/RDWR with just to flags BDBTHR_EVENT_START/DONE; these flags are used with bdb_thread_event
  • fix cases when we use literals 0,1 instead of flag
  • fix cases when bdbthr_thread_event uses backend_thread_event flags
  • fix cases when backend_thread_event uses bdbthr_threadevent flags

Comment thread bdb/bdblock.c

switch (event) {
case BDBTHR_EVENT_DONE_RDONLY: /* thread done */
case BDBTHR_EVENT_DONE: /* thread done */
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is the important part; rdonly and rdwr are identical

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.

2 participants