Repository navigation
Conversation
|
Initial independent self-review (one round): reviewed the full diff against [P2] Preserve wrapped region-unavailable errors. At the reviewed revision, TreeSchemaAutoCreatorAndVerifier.java:311 only inspected the top-level exception. Template activation can wrap status 906 in Validation:
Reviewed SHA: The repair was committed and pushed to |
|
Re-review (one round): reviewed the complete diff against No actionable findings. The cause-chain handling preserves Validation:
Reviewed SHA: |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #19098 +/- ##
============================================
+ Coverage 48.12% 48.13% +0.01%
Complexity 625 625
============================================
Files 5572 5572
Lines 411488 411604 +116
Branches 54166 54211 +45
============================================
+ Hits 198010 198141 +131
+ Misses 213478 213463 -15 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| if (throwable instanceof IoTDBRuntimeException | ||
| && ((IoTDBRuntimeException) throwable).getErrorCode() | ||
| == TSStatusCode.NO_AVAILABLE_REGION_GROUP.getStatusCode()) { | ||
| analysis.setFinishQueryAfterAnalyze(true); | ||
| analysis.setFailStatus( | ||
| RpcUtils.getStatus( | ||
| TSStatusCode.LOAD_TEMPORARY_UNAVAILABLE_EXCEPTION, throwable.getMessage())); | ||
| setRealStatement(analysis); | ||
| return true; | ||
| } |
There was a problem hiding this comment.
How can you distinguish a recovering region from a truly missing one?
There was a problem hiding this comment.
It cannot be distinguished from status 906 alone. RegionWriteExecutor also returns NO_AVAILABLE_REGION_GROUP when the local region lock is missing or the consensus group does not exist, so the status does not prove that recovery is in progress.
The contract here is to retain the TsFile and retry region-unavailable errors. A genuinely missing region can therefore continue to produce retries and needs operator intervention; this change does not diagnose or repair permanent region loss. Other schema-error statuses keep their existing failure behavior.
I corrected the comments in the schema verifier and LOAD analyzer in 6ac971c to make that boundary explicit. This is a comment-only clarification, and Spotless passed.
|
External-comment follow-up at
Validation: Follow-up starting SHA: The clarification is committed and pushed. All discussions are left unresolved. |
|




Description
After a cluster restart, automatic LOAD can encounter
NO_AVAILABLE_REGION_GROUP(906) while SchemaRegion groups recover. Schema verification wraps the exception and drops its status, so LOAD returnsLOAD_FILE_ERROR(1100) and moves a valid TsFile to the failed directory.Preserve the region-unavailable status through tree schema verification and translate it to
LOAD_TEMPORARY_UNAVAILABLE_EXCEPTION(1110) in LOAD analysis. The existing automatic loader can then retain the file and retry. Permanent schema errors keep their existing behavior.Exposed by the active-scan restart CI failure.
Validation
IoTDBLoadTsFileActiveScanITpassed with 1 ConfigNode and 3 DataNodes: 0 failures, 0 errors, 0 skipped.