Caideyipi opened a new pull request, #18485:
URL: https://github.com/apache/iotdb/pull/18485
## Description
### Operation diagnostics
When `DROP PIPE` cannot reach a DataNode, the pipe stays in `PRE_DELETE`
while the drop procedure reports its timeout. `ALTER PIPE`, `START PIPE`, and
`STOP PIPE` now detect that state before submitting another procedure and
immediately return a deterministic `PIPE_ERROR` explaining that the pipe is
being dropped.
The lookup is protected by the PipeTaskInfo read lock and remains isolated
by tree/table model, so a same-named pipe in the other model is unaffected.
### Integration coverage
A new ClusterIT covers:
- the drop timeout details and the `PRE_DELETE` state exposed by `SHOW
PIPES`;
- exact errors from ALTER, START, and STOP while deletion is pending;
- ConfigNode restart and drop Procedure recovery;
- eventual deletion after the unavailable DataNode recovers.
### Verification
- ConfigNode offline install with tests skipped
- ConfigNode Chinese-locale compile
- `IoTDBPipeOperationDiagnosticsIT`: 2 tests passed
- Focused Procedure recovery test after the final assertions: 1 test passed
- Checkstyle, Spotless, RAT, and staged diff checks
<hr>
This PR has:
- [x] been self-reviewed.
- [x] concurrent read
- [x] added integration tests.
- [x] been tested in a test IoTDB cluster.
<hr>
##### Key changed/added classes (or packages if there are too many classes)
in this PR
- `PipeTaskCoordinator`
- `PipeTaskInfo`
- `IoTDBPipeOperationDiagnosticsIT`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]