Environment
OceanBase seekdb
MySQL protocol version: 5.7.25-OceanBase seekdb-v
REVISION: 1-928324ce1523e964142a8357fb968e432c9511f4
BUILD_BRANCH: HEAD
BUILD_TIME: Aug 7 2026 17:04:55
BUILD_FLAGS: RelWithDebInfo
- Is this an RD-provided temporary version?: No
- Reproducibility: Not specified
- Test changes: Not specified
- Other environmental anomalies or changes: Not specified
Description
During a 4-hour regression test, three independent observer instances were started on the same machine using the same binary. The ddltest_duomo_lite instance failed when executing CALL DBMS_STATS.GATHER_SCHEMA_STATS. The client reported error 2013 Lost connection to MySQL server during query, which was flagged as fatal in strict mode. Concurrently, the observer logs showed repeated errors related to log submission, freeze, compaction, and tablet GC, including -6268 OB_TX_NOLOGCB, -4023 OB_EAGAIN, and -4012 OB_TIMEOUT.
The other two instances (multi_modal_lite and stress_duomo_lite) passed their tests but also exhibited warnings like submit log callback use too mush time and -4023 errors. This suggests the issue is not specific to a single script but indicates a degradation in the observer's log submission/flush/checkpoint/freeze pipeline under load.
Steps to Reproduce / Scenario
- On the machine, three independent observer instances were started for a 4-hour regression test:
ddltest_duomo_lite -> :2881
multi_modal_lite -> :3881
stress_duomo_lite -> :4881
- The test was executed using the following commands:
cd /obdata/data/three_lite_regression
bash run_all.sh prepare 2>&1 | tee prepare.log
bash run_all.sh build 2>&1 | tee build.log
bash run_all.sh start 2>&1 | tee start.log
bash run_all.sh test 2>&1 | tee test.log
- Each task had a runtime of
time 14400.
- The failure occurred in
ddltest_duomo_lite when executing the specific SQL:
CALL DBMS_STATS.GATHER_SCHEMA_STATS('test', degree=>64, no_invalidate=>FALSE, cascade=>TRUE);
Environment Information
- Database connection strings:
mysql -h -P2881 -uroot
mysql -h -P3881 -uroot
mysql -h -P4881 -uroot
- Instance directories:
/obdata/data/ddltest_duomo_lite_db
/obdata/data/multi_modal_lite_db
/obdata/data/stress_duomo_lite_db
- SSH access:
ssh hudson@ oceanbaseV5
- Is the scene preserved?: Yes
Log Information & Evidence
Workload-side Failure Evidence (ddltest_duomo_lite)
Time: 2026-08-07 20:01:48.792
Connection: :2881
Triggering SQL:
CALL DBMS_STATS.GATHER_SCHEMA_STATS('test', degree=>64,no_invalidate=>FALSE,cascade=>TRUE);
Client Error:
(2013, 'Lost connection to MySQL server during query (timed out)')
Strict Mode Judgment:
[DDLTEST_STRICT][fatal] RESULT ddltest_duomo_lite FAIL
Log Paths:
/obdata/data/three_lite_regression/logs/ddltest_duomo_lite/workload-console.log
/obdata/data/three_lite_regression/test.log
/obdata/data/three_lite_regression/start.log
/obdata/data/ddltest_duomo_lite_db/log/seekdb.log*
Preserved Scene: /obdata/data/three_lite_regression/evidence/ddltest_duomo_lite-20260807-200148/ containing:
workload-console.log
test.log
start.log
seekdb-at-failure.log
Observer-side Evidence
ddltest_duomo_lite (:2881)
Logs: /obdata/data/ddltest_duomo_lite_db/log/seekdb.log*
Key error logs captured:
[2026-08-10 02:05:35.139880] EDIAG [STORAGE.TRANS] ~ObMvccWriteGuard
(ob_mvcc_ctx.cpp:388) errcode=-6268
failed to submit log if neccesary(ret=-6268)
[2026-08-10 02:00:58.551477] EDIAG [STORAGE.COMPACTION] schedule_freeze_dag
(ob_basic_schedule_tablet_func.cpp:93) errcode=-4023
failed to schedule batch force freeze tablets dag
[2026-08-10 00:03:16.503924] EDIAG [STORAGE.COMPACTION] try_schedule_compaction_after_mini
(ob_tablet_merge_ctx.cpp:227) errcode=-4677
failed to schedule special tablet minor merge(tablet_id={id:49402})
[2026-08-09 20:02:10.613014] EDIAG [STORAGE] runTimerTask
(ob_tablet_gc_service.cpp:191) errcode=-4012
fail to wait unpersist tablet ids flushed(ret=-4012, ret="OB_TIMEOUT")
Subsequent similar freeze failures:
[2026-08-10 10:03:21.273654] WDIAG [STORAGE] freeze
(ob_tx_data_memtable_mgr.cpp:226) errcode=-4023
freeze tx data memtable fail.(ret=-4023, ret="OB_EAGAIN")
tablet_id:{id:49402}
multi_modal_lite (:3881)
Logs: /obdata/data/multi_modal_lite_db/log/seekdb.log*
Key log:
[2026-08-09 14:16:10.827108] EDIAG [STORAGE.TRANS] submit_log_
(ob_id_service.cpp:98) errcode=-4023
submit log callback use too mush time
Corresponding PALF logs show high log flush/callback latency:
WDIAG [PALF] sliding_cb ... errcode=-4389
log_task life cost too much time
submit_to_flush cost=348069
log_life_time=348130
Followed by a callback success:
INFO [STORAGE.TRANS] handle_submit_callback
success=true, used_ts=348154
stress_duomo_lite (:4881)
Logs: /obdata/data/stress_duomo_lite_db/log/seekdb.log*
Key logs:
[2026-08-10 02:00:12.022705] EDIAG [STORAGE.COMPACTION] schedule_freeze_dag
(ob_basic_schedule_tablet_func.cpp:93) errcode=-4023
failed to schedule batch force freeze tablets dag
[2026-08-09 14:28:42.871343] EDIAG [STORAGE.TRANS] submit_log_
(ob_id_service.cpp:98) errcode=-4023
submit log callback use too mush time
Error Code Interpretation
From source code definitions:
-6268 = OB_TX_NOLOGCB = No log callbacks available
-4023 = OB_EAGAIN = Try again
-4012 = OB_TIMEOUT = Timeout
-4677 = OB_NO_NEED_MERGE = no need to merge
-4389 = OB_ERR_TOO_MUCH_TIME
While -4677 OB_NO_NEED_MERGE alone might be a scheduling race or harmless warning, its occurrence alongside -6268/-4023/-4012/-4389 and the actual client disconnection in the DDL workload suggests this is not merely noise.
Other Notes
This issue was identified during internal testing. The workload failure (ddltest_duomo_lite) and the widespread warnings in the other instances point to a systemic issue with the log submission and freeze mechanisms under concurrent load.
Environment
Description
During a 4-hour regression test, three independent observer instances were started on the same machine using the same binary. The
ddltest_duomo_liteinstance failed when executingCALL DBMS_STATS.GATHER_SCHEMA_STATS. The client reported error2013 Lost connection to MySQL server during query, which was flagged as fatal in strict mode. Concurrently, the observer logs showed repeated errors related to log submission, freeze, compaction, and tablet GC, including-6268 OB_TX_NOLOGCB,-4023 OB_EAGAIN, and-4012 OB_TIMEOUT.The other two instances (
multi_modal_liteandstress_duomo_lite) passed their tests but also exhibited warnings likesubmit log callback use too mush timeand-4023errors. This suggests the issue is not specific to a single script but indicates a degradation in the observer's log submission/flush/checkpoint/freeze pipeline under load.Steps to Reproduce / Scenario
ddltest_duomo_lite-> :2881multi_modal_lite-> :3881stress_duomo_lite-> :4881time 14400.ddltest_duomo_litewhen executing the specific SQL:Environment Information
ssh hudson@ oceanbaseV5Log Information & Evidence
Workload-side Failure Evidence (
ddltest_duomo_lite)Time: 2026-08-07 20:01:48.792
Connection: :2881
Triggering SQL:
Client Error:
Strict Mode Judgment:
[DDLTEST_STRICT][fatal] RESULT ddltest_duomo_lite FAILLog Paths:
/obdata/data/three_lite_regression/logs/ddltest_duomo_lite/workload-console.log/obdata/data/three_lite_regression/test.log/obdata/data/three_lite_regression/start.log/obdata/data/ddltest_duomo_lite_db/log/seekdb.log*Preserved Scene:
/obdata/data/three_lite_regression/evidence/ddltest_duomo_lite-20260807-200148/containing:workload-console.logtest.logstart.logseekdb-at-failure.logObserver-side Evidence
ddltest_duomo_lite(:2881)Logs:
/obdata/data/ddltest_duomo_lite_db/log/seekdb.log*Key error logs captured:
Subsequent similar freeze failures:
multi_modal_lite(:3881)Logs:
/obdata/data/multi_modal_lite_db/log/seekdb.log*Key log:
Corresponding PALF logs show high log flush/callback latency:
Followed by a callback success:
stress_duomo_lite(:4881)Logs:
/obdata/data/stress_duomo_lite_db/log/seekdb.log*Key logs:
Error Code Interpretation
From source code definitions:
While
-4677 OB_NO_NEED_MERGEalone might be a scheduling race or harmless warning, its occurrence alongside-6268/-4023/-4012/-4389and the actual client disconnection in the DDL workload suggests this is not merely noise.Other Notes
This issue was identified during internal testing. The workload failure (
ddltest_duomo_lite) and the widespread warnings in the other instances point to a systemic issue with the log submission and freeze mechanisms under concurrent load.