Repository navigation
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #18845 +/- ##
============================================
+ Coverage 47.58% 47.63% +0.04%
Complexity 806 806
============================================
Files 5562 5562
Lines 408293 408329 +36
Branches 53591 53598 +7
============================================
+ Hits 194273 194488 +215
+ Misses 214020 213841 -179 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…l-prefetch-hotspots # Conflicts: # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueue.java
|
Self-review passed. I fixed V2 WAL metadata deserialization preallocation and corrected ACK cleanup ordering so event cleanup follows the in-flight map lock order, while the potentially slow WAL retention refresh remains outside the map callback. Targeted tests passed: ConsensusPrefetchingQueueTest (53) and WALMetaDataV3CompatibilityTest (6). |
|




Description
Subscription ACKs committed writer progress and refreshed WAL retention inside an
inFlightEvents.computecallback. CPU profiles and thread dumps showed WAL metadata scanning under the ConcurrentHashMap node lock blocking subscription prefetch threads.Move the commit and retention refresh outside that callback, then remove the exact event after a successful commit. A failed commit leaves the event available for retry. Pre-size the per-entry writer progress lists when deserializing WAL metadata to reduce repeated
ArrayListgrowth.Validation
mvn spotless:apply -pl iotdb-core/datanode -DskipTestsmvn -pl iotdb-core/datanode -DskipTests compilemvn -pl iotdb-core/datanode -Dtest=ConsensusPrefetchingQueueTest test— 46 tests passed.Cluster performance measurements have not been rerun after this change.
Key changed classes
ConsensusPrefetchingQueueWALMetaData