Caideyipi opened a new pull request, #18297:
URL: https://github.com/apache/iotdb/pull/18297
## Description
### Improve timeout diagnostics for Pipe control statements
When CREATE PIPE, ALTER PIPE, START PIPE, STOP PIPE, or DROP PIPE times out
while waiting for its Procedure, return a diagnostic message containing:
- the Pipe operation and procedure ID
- the current execution or rollback stage
- a stage-specific cause, or the most recent retry/failure exception when
available
- an explicit reminder that the Procedure is still running in the background
### Design
`AbstractOperatePipeProcedureV2` keeps volatile, non-persistent diagnostic
state so the request thread can inspect the Procedure without affecting
execution or recovery. The tracked stages cover Procedure worker scheduling,
PipeTaskCoordinator lock acquisition, ConfigNode node lock acquisition,
validation, metadata calculation, ConfigNode consensus writes, DataNode
metadata pushes, and rollback.
Only user-facing Pipe control statements use the detailed timeout message.
The optimistic timeout behavior of internal consensus Pipe procedures is
unchanged. English and Chinese messages are kept in key and format-specifier
parity for the new diagnostics.
### Tests
- Added timeout diagnostic tests for retry exceptions and the DataNode
operation stage.
- `mvn -nsu -pl iotdb-core/confignode spotless:check checkstyle:check
-DskipTests` passes.
- `git diff --check` passes.
- The focused unit test is currently blocked before test execution by
unrelated existing cross-module/generated-source compilation mismatches in this
checkout.
<hr>
This PR has:
- [x] been self-reviewed.
- [x] concurrent read and write
- [x] added comments explaining the why and intent of the diagnostic state.
- [x] added unit tests to cover the new diagnostic paths.
<hr>
##### Key changed/added classes (or packages if there are too many classes)
in this PR
- `AbstractOperatePipeProcedureV2`
- `ProcedureManager`
- `ProcedureMessages`
- `AbstractOperatePipeProcedureV2Test`
--
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]