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

   ## Description
   
   ### Motivation
   
   A DataNode pipe heartbeat can report a composite progress index that is 
already fully covered by the ConfigNode progress. The previous `isAfter() || 
equals()` guard does not represent greater-than-or-equal semantics for 
partially ordered indexes such as `RecoverProgressIndex`. It can therefore 
merge to the same logical value, set the ConfigNode consensus-write flag, and 
periodically submit a no-op `PipeHandleMetaChangeProcedure`, producing 
unnecessary Ratis log entries.
   
   ### Changes
   
   - Use `ProgressIndex.isEqualOrAfter()` to skip updates when ConfigNode 
already covers the DataNode progress.
   - Keep consensus writes when the DataNode heartbeat genuinely advances 
progress.
   - Log the coordinator progress captured before an actual update.
   - Add regression tests for both covered and advancing composite progress 
indexes.
   
   ### Validation
   
   - `mvn spotless:apply -pl iotdb-core/confignode`
   - `mvn -pl iotdb-core/confignode -Dtest=PipeHeartbeatParserTest 
-DfailIfNoTests=false test`
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added unit tests to cover the new code paths.
   
   ##### Key changed classes
   
   - `PipeHeartbeatParser`
   - `PipeHeartbeatParserTest`


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