[seekdb][transaction] Retry GTS acquisition when not ready - #1316
Merged
Conversation
Member
Author
|
The mapping Dima issue is that during bulk writes to wide tables, PALF/transaction logs continuously return error -4023, causing JDBC to receive a "Try again" message and resulting in UpdateIgnore initialization failure. |
footka
approved these changes
Aug 19, 2026
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
When the local GTS service has not prepared the next timestamp range,
ObTsMgr::get_gtsreturnsOB_EAGAIN. The snapshot acquisition path did not distinguish this temporary GTS state from genericOB_EAGAIN, so the error could escape the transaction layer and become a user-visible JDBCTry againduring write pressure.The original bigtrans_lite incident also contains PALF-side
OB_EAGAIN. This change is intentionally limited to the GTS snapshot path and does not claim to retry or mask every PALFOB_EAGAINsource.Solution Description
OB_GTS_NOT_READYwhen nonblocking GTS acquisition returnsOB_EAGAIN.Passed Regressions
git diff --checkCARGO_NET_OFFLINE=true ob-make seekdb(release build, compile and link passed)The original CI endpoint had already been cleaned up, so the full bigtrans_lite workload was not replayed in this change.
Upgrade Compatibility
No storage format, schema, wire protocol or configuration change. This only changes transaction-layer error classification and bounded retry behavior.
Other Information
74e0e0b966e.OB_EAGAINhandling remains outside this MR.Release Note