Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CBRD-21480] Do not allow concurrent computation of oldest active MVCCID #800

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

alexstanro
Copy link
Contributor

@alexstanro alexstanro commented Jul 26, 2017

http://jira.cubrid.org/browse/CBRD-21480
When create index/upgrade/redistribute we obtain the latest oldest_active_mvccid. In order to do this, we are waiting for any concurrent thread that computes oldest_active_mvccid. In case of upgrade/redistribute we do not allow to advance with oldest_active_mvccid up to the end of transaction.
This is done with vacuum_Global_oldest_active_blockers_counter, having the following values:

  • COMPUTE_OLDEST_MVCCID_STARTED - the current thread started update oldest_active_mvccid, the concurrent thread can't update oldest_active_mvccid (the concurrent thread uses the cached value or is blocked)
  • greater than 0 - there is no thread computing oldest_active_mvccid, the threads can't update oldest
  • 0 - one thread can update the oldest

@alexstanro alexstanro added the bug label Jul 26, 2017
@alexstanro alexstanro self-assigned this Jul 26, 2017
@alexstanro alexstanro requested a review from eseokoh July 26, 2017 07:00
@cubridci
Copy link

Build comment file:

File: src/query/vacuum.c (2 incorrect indentation(s) found)

  2567 	  ATOMIC_STORE_64 (&vacuum_Global_oldest_active_mvccid, local_oldest_active_mvccid);
  2568 	}

Please run 'indent -l120 -lc120' to correct the indentation


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants