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

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 23e6396132ee2ab65aef9ef294141be7caa82a04
Author: Peeyush Gupta <[email protected]>
AuthorDate: Mon Sep 18 21:09:25 2023 -0700

    [NO ISSUE][RT] Skip appending empty frames in 
Primary/SecondaryUpsertOperator
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Change-Id: I99cf5326044570002b6c4ccf5316d97e546401b6
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17787
    Reviewed-by: Ali Alsuliman <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Michael Blow <[email protected]>
---
 .../runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java   | 8 ++++++--
 .../runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java | 5 +++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
index 1e7f4b7e62..3b8ee68370 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
@@ -282,7 +282,9 @@ public class LSMPrimaryUpsertOperatorNodePushable extends 
LSMIndexInsertUpdateDe
 
                 @Override
                 public void frameCompleted() throws HyracksDataException {
-                    appender.write(writer, true);
+                    if (appender.getTupleCount() > 0) {
+                        appender.write(writer, true);
+                    }
                     callback.frameCompleted();
                 }
 
@@ -404,7 +406,9 @@ public class LSMPrimaryUpsertOperatorNodePushable extends 
LSMIndexInsertUpdateDe
      */
     @Override
     public void flushPartialFrame() throws HyracksDataException {
-        appender.write(writer, true);
+        if (appender.getTupleCount() > 0) {
+            appender.write(writer, true);
+        }
     }
 
     protected void appendFilterToPrevTuple() throws IOException {
diff --git 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
index 955d5aa4d8..eb4e46ab69 100644
--- 
a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
+++ 
b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
@@ -152,4 +152,9 @@ public class LSMSecondaryUpsertOperatorNodePushable extends 
LSMIndexInsertUpdate
         }
         return false;
     }
+
+    @Override
+    public void flush() throws HyracksDataException {
+        // No op since nextFrame flushes by default
+    }
 }

Reply via email to