DBA_OB_CCL_RULES table shows unexpected state after creating SQL concurrency control rule and running same SQL from multiple terminals
Open
Nobody has claimed this yet.
dima
type: bug
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 342
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 53
Description
Environment
Version Information:
Starting seekdb (OceanBase seekdb) source revision 1-210636544cac7e10193998a38d7ce8e36cd031ad.
seekdb (OceanBase seekdb)
REVISION: 1-210636544cac7e10193998a38d7ce8e36cd031ad
BUILD_BRANCH: master
BUILD_TIME: Mar 27 2026 02:11:59
BUILD_FLAGS: RelWithDebInfo
BUILD_INFO:
Copyright (c) 2011-present OceanBase Inc.
Description / Steps to Reproduce
After creating a SQL concurrency control (CCL) rule, running the same SQL from multiple terminals results in unexpected data when querying the DBA_OB_CCL_RULES table.
Background/Expected Behavior:
- The maximum number of concurrent executions for a single SQL statement is jointly managed by the CCL rule and the concurrency limit specified in the outline.
- In the test case:
- Connection 1 "occupies a slot" by running a query that sleeps for 5 seconds.
- Connection 2 then attempts to run the same SQL and should be blocked.
- Immediately query a monitoring table (rule name + current occupied count + limit). The observed table state is unexpected.
Reproduction Steps (from mysqltest):
cd /Users/admin/jingtu/macbranch/oceanbase-lite/tools/deploy
source activate_obd.sh
sh deploy_android_seekdb.sh
export OCEANBASE_HOME=/Users/admin/jingtu/macbranch/oceanbase-lite
obd test mysqltest android_seekdb \
--mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
--obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
--init-only \
--init-sql-dir=${OCEANBASE_HOME}/tools/deploy \
--init-sql-files='init.sql,init_user.sql|root@sys|test'
obd test mysqltest android_seekdb \
--mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
--obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
--disable-reboot \
--test-set=ccl.ccl_many_rule_mysql
Additional Context

Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the ccl.ccl_many_rule_mysql mysqltest case and reproduce it using the provided obd test commands. Inspect the DBA_OB_CCL_RULES query during concurrent execution and compare its rule name, occupied count, and limit with the expected CCL behavior; done means the table reports the correct state while one connection is blocked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql, sql
- Domain
- databases, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100