Repository navigation
Conversation
…h has passed its commit point
|
Ok, I reuse the original api |
Caideyipi
left a comment
There was a problem hiding this comment.
Found a recovery lock leak and a small localization issue; details are inline.
Validation: the PR's five new state-machine tests pass. Two additional lock-recovery cases, including one using the real AddConfigNodeProcedure and LockQueue, fail on 754625cce26 and pass on the base d1aaa0dd909. This used targeted compilation and JUnit with cached dependencies; cluster integration tests were not run.
Caideyipi
left a comment
There was a problem hiding this comment.
The recovery lock leak and retry-operation localization issue from the previous review are fixed. I found no further blocking issues in the current change.
Validation: all five new state-machine tests and two targeted lock-release cases using the real AddConfigNodeProcedure and LockQueue pass on eed5db9. These used targeted compilation with cached dependencies; the local reactor run stopped before ConfigNode because DataNode Checkstyle ran out of heap. CI unit tests on Linux/Windows and zh-locale compilation passed.
One CI integration shard remains red: IoTDBPipePermissionIT.testSourcePermission observes unexpected replicated rows. This still needs investigation or a successful rerun before merging.
Summary
Fix the procedure frame that prohibiting rollback of a procedure which has passed its commit point
Procedure.isRollbackSupported()lets a procedure declare that its executed states can nolonger be undone. The executor asks it once, before any state is rolled back, and finishes
such a procedure without touching its states; the client still sees the failure.
is unchanged and rolling upgrades are not affected.
ConfigNode (
ADD_COLUMN,RENAME_TABLE,SET_PROPERTIES, ...), or the point after whichthe data is gone (
DELETE_DATA).