Caideyipi opened a new pull request, #18331: URL: https://github.com/apache/iotdb/pull/18331
## Description ### Problem IoTDBNonDataRegionSource assumed every non-minimum task progress was a MetaProgressIndex. Pipe task progress can also be merged into a HybridProgressIndex, and may be wrapped by a StateProgressIndex. This caused a ClassCastException while restoring a non-data-region source or calculating its remaining events during DataNode shutdown. ### Changes - Extract the meta progress component from direct, hybrid, and state-wrapped progress indexes. - Use that component for source recovery and remaining-event accounting. - Conservatively fall back to snapshot recovery or full queue size when no meta component exists. - Add unit coverage for hybrid, state-wrapped hybrid, and hybrid-without-meta cases. ### Verification - mvn spotless:apply -pl iotdb-core/node-commons - mvn test -pl iotdb-core/node-commons -Dtest=IoTDBNonDataRegionSourceTest <hr> This PR has: - [x] been self-reviewed. - [x] added unit tests to cover new code paths. <hr> ##### Key changed/added classes - IoTDBNonDataRegionSource - IoTDBNonDataRegionSourceTest -- 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]
