fix(seekdb): Remove #ifdef __ANDROID__ guard around skip_level3_ccl#899
Open
ep-12221 wants to merge 1 commit into
Open
fix(seekdb): Remove #ifdef __ANDROID__ guard around skip_level3_ccl#899ep-12221 wants to merge 1 commit into
#ifdef __ANDROID__ guard around skip_level3_ccl#899ep-12221 wants to merge 1 commit into
Conversation
…ix double CCL concurrency check on macOS Root cause: The skip_level3_ccl optimization, which prevents redundant CCL concurrency checks in the plan cache path, was guarded by #ifdef __ANDROID__, meaning it only applied on Android. On macOS/Linux, both the level-3 CCL check (after resolve) and the plan cache path CCL check ran unconditionally. This caused a double increment of concurrency counters and incorrect CURRENT_CONCURRENCY values in DBA_OB_CCL_RULES. Fix: Remove the #ifdef __ANDROID__ guards around skip_level3_ccl computation and its associated conditions at both call sites (generate_physical_plan and pc_get_plan). This makes the cross-platform optimization available on all platforms. Scope of impact: CCL concurrency control on non-Android platforms (macOS, Linux, Windows). When an outline's max_concurrent is stricter than all CCL rules, the level-3 CCL check is now correctly skipped. DIMA: 2026051200116053759 Co-Authored-By: Claude Opus 4 <[REDACTED_EMAIL]>
Contributor
Author
|
The mapping Dima issue is: "On macOS, when creating SQL concurrency control rules and then running the same SQL from multiple terminals, querying the DBA_OB_CCL_RULES table shows unexpected results." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task Description
Remove the platform-specific
#ifdef __ANDROID__guard from theskip_level3_ccloptimization to prevent double incrementing of CCL concurrency counters on non-Android platforms (e.g., macOS). This double counting was causing incorrect CURRENT_CONCURRENCY values in DBA_OB_CCL_RULES and premature blocking of queries with error 11087.Solution Description
The
skip_level3_ccloptimization insrc/sql/ob_sql.cppwas previously guarded by#ifdef __ANDROID__in two locations:generate_physical_plan).pc_get_plan).On platforms like macOS (where
__ANDROID__is not defined), both CCL checks ran unconditionally:This fix removes all
#ifdef __ANDROID__guards, makingskip_level3_ccla cross-platform optimization. When an outline'smax_concurrentis stricter than all DATABASE_AND_TABLE CCL rules, both CCL checks are properly skipped as the outline becomes the binding constraint.Passed Regressions
Local verification on macOS (arm64):
ccl_t1_key_word.Upgrade Compatibility
Other Information
DIMA: 2026051200116053759
Release Note