This is an automated email from the ASF dual-hosted git repository.

justinchen pushed a commit to branch fix-fix
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/fix-fix by this push:
     new 4fe49d49ddc fix
4fe49d49ddc is described below

commit 4fe49d49ddc26a879f6138af38fa48a3a8bbc6eb
Author: Caideyipi <[email protected]>
AuthorDate: Tue Apr 14 16:44:46 2026 +0800

    fix
---
 .../source/dataregion/realtime/PipeRealtimeDataRegionSource.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/realtime/PipeRealtimeDataRegionSource.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/realtime/PipeRealtimeDataRegionSource.java
index 718529243d9..37f1f0a74cb 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/realtime/PipeRealtimeDataRegionSource.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/realtime/PipeRealtimeDataRegionSource.java
@@ -431,7 +431,11 @@ public abstract class PipeRealtimeDataRegionSource 
implements PipeExtractor {
     // Since the batch and retry queue no longer need the heartbeat event to 
trigger
     // And the progress report event can trigger the processor calculation 
because it's not reported
     // yet
-    while (((PipeRealtimeEvent) pendingQueue.peekLast()).getEvent() instanceof 
PipeHeartbeatEvent) {
+    while (true) {
+      final PipeRealtimeEvent lastEvent = ((PipeRealtimeEvent) 
pendingQueue.peekLast());
+      if (lastEvent == null || !(lastEvent.getEvent() instanceof 
PipeHeartbeatEvent)) {
+        break;
+      }
       pendingQueue.pollLast();
     }
     if (pendingQueue.peekLast() instanceof ProgressReportEvent) {

Reply via email to