You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2025/11/06 17:28:34 UTC

(asterixdb) 17/25: [NO ISSUE][*DB][COMMON] Fix async checkpoint failure if only metadata is flushed

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 b67dac42368944d11f0224d51cf20585bc596cfa
Author: Michael Blow <mi...@couchbase.com>
AuthorDate: Thu Oct 16 15:39:47 2025 -0400

    [NO ISSUE][*DB][COMMON] Fix async checkpoint failure if only metadata is flushed
    
    e.g.
    java.util.NoSuchElementException
      at o.a.a.c.utils.IntSortedBitSet$1.nextInt(IntSortedBitSet.java:219)
      at o.a.a.c.utils.IntUtil.appendCompact(IntUtil.java:79)
      at o.a.a.c.utils.Partitions.toString(Partitions.java:139)
      at java.lang.String.valueOf(String.java:4465)
      at o.a.a.c.context.DatasetLifecycleManager.asyncFlushMatchingIndexes(DatasetLifecycleManager.java:526)
    
    Ext-ref: MB-68946
    
    Change-Id: I081c80a54a749e15a1b3e10c3a6391835679fff6
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20491
    Reviewed-by: Michael Blow <mb...@apache.org>
    Tested-by: Michael Blow <mb...@apache.org>
    Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
    Reviewed-by: Ali Alsuliman <al...@gmail.com>
---
 .../src/main/java/org/apache/asterix/common/utils/Partitions.java     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Partitions.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Partitions.java
index cc93b916cc..e939ce13b7 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Partitions.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Partitions.java
@@ -136,7 +136,9 @@ public class Partitions implements Serializable {
                 builder.append(',');
             }
         }
-        IntUtil.appendCompact(iter, builder, MINUS_ONE);
+        if (iter.hasNext()) {
+            IntUtil.appendCompact(iter, builder, MINUS_ONE);
+        }
         builder.append(']');
         return builder.toString();
     }