Caideyipi opened a new pull request, #18370:
URL: https://github.com/apache/iotdb/pull/18370

   ## Description
   
   ### Rename canonical topic modes
   
   - Add `initial` for full snapshot plus incremental data and make it the 
default mode.
   - Add `incremental` for incremental-only subscriptions.
   - Update ConfigNode, DataNode, examples, messages, and integration-test 
configurations to use the new names.
   
   ### Preserve backward compatibility
   
   - Continue accepting `live` as an alias of `initial`.
   - Continue accepting `consensus` as an alias of `incremental`.
   - Keep the old constants and mode predicates as deprecated APIs.
   - Normalize aliases to canonical values so altering an existing legacy topic 
to the new name is not treated as a mode change.
   - Keep mapping `initial` to the Pipe source's internal `live` mode.
   
   ### Validation
   
   - `mvn test -pl iotdb-client/subscription -Dtest=TopicConfigTest`
   - `mvn test -pl iotdb-client/subscription -P with-zh-locale 
-Dtest=TopicConfigTest`
   - `SubscriptionInfoTopicValidationTest`: 25 tests passed through targeted 
JUnit execution.
   - `mvn compile -pl example/subscription -Ddevelocity.off=true`
   - Spotless applied to the modified subscription, ConfigNode/DataNode, and 
integration-test sources.
   - English/Chinese message constant parity verified.
   - `git diff --check`
   
   The standard ConfigNode Maven test command is currently blocked during 
compilation by the pre-existing 
`PipeConfigNodeTaskAgent.getProgressIndexByType(...)` error, before the 
targeted test executes.
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added comments explaining compatibility behavior where it is not 
obvious.
   - [x] added or updated unit tests for the new and legacy mode values.
   - [x] updated existing integration-test configurations to use the canonical 
names.
   
   <hr>
   
   ##### Key changed/added classes (or packages if there are too many classes) 
in this PR
   
   - `TopicConstant`
   - `TopicConfig`
   - `SubscriptionInfo`
   - ConfigNode/DataNode subscription runtime handling
   - Subscription examples and integration tests


-- 
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]

Reply via email to