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 8afd7eddd14ed4da50a0489929d65511b424ca8b
Author: Peeyush Gupta <[email protected]>
AuthorDate: Wed Dec 10 21:41:31 2025 -0800

    [ASTERIXDB-3678][TX] Failure committing a metadata transaction
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Ext-ref: MB-69729
    Change-Id: I63be765a330bb15d53dfaa0ef1c8679355396628
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20649
    Reviewed-by: Ian Maxon <[email protected]>
    Tested-by: Peeyush Gupta <[email protected]>
    (cherry picked from commit 12e5e65127155d47b80d424ad744c7bab7c1e8a9)
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20688
    Tested-by: Michael Blow <[email protected]>
    Reviewed-by: Michael Blow <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
---
 .../asterix/common/storage/SizeBoundedConcurrentMergePolicy.java    | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/SizeBoundedConcurrentMergePolicy.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/SizeBoundedConcurrentMergePolicy.java
index 78fbf99b6f..3f7a5c41df 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/SizeBoundedConcurrentMergePolicy.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/SizeBoundedConcurrentMergePolicy.java
@@ -20,6 +20,7 @@ package org.apache.asterix.common.storage;
 
 import static 
org.apache.asterix.common.storage.SizeBoundedConcurrentMergePolicy.Range.isRangeMergable;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -134,13 +135,14 @@ public class SizeBoundedConcurrentMergePolicy implements 
ILSMMergePolicy {
      * but in case the components in the range does not contribute enough to 
exceed maxComponentSize then the candidate
      * range will be [leftBoundary, endComponentIndex] which satisfies both 1 
& 2.
      *</p>
-     * @param diskComponents The disk components within an Index
+     * @param inputDiskComponents The disk components within an Index
      * @param localMinMergeComponentCount The min count of contiguous 
components required to call a mergable range.
      * @param countFlag if enabled, will count all the components that can be 
merged, else will return on first found range
      * @return MergableSolution
      */
-    private MergableSolution getMergableIndexesRange(List<ILSMDiskComponent> 
diskComponents,
+    private MergableSolution getMergableIndexesRange(List<ILSMDiskComponent> 
inputDiskComponents,
             int localMinMergeComponentCount, boolean countFlag) {
+        List<ILSMDiskComponent> diskComponents = new 
ArrayList<>(inputDiskComponents);
         int numComponents = diskComponents.size();
         int candidateComponentsCount = 0;
         for (; candidateComponentsCount < numComponents; 
candidateComponentsCount++) {

Reply via email to