You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2025/07/14 03:59:04 UTC

Change in asterixdb[ionic]: debug: tracking pin/unpin cloud files

From Ritik Raj <ri...@couchbase.com>:

Ritik Raj has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20103 )


Change subject: debug: tracking pin/unpin cloud files
......................................................................

debug: tracking pin/unpin cloud files

Change-Id: I87942852f7411ccae9cb90581f3118ba2de869b7
---
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/SparseColumnMultiPageZeroReader.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweepPlanner.java
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroWriter.java
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiPageZeroByteBuffersReader.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudColumnReadContext.java
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/readers/DefaultColumnPageZeroReader.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudMegaPageReadContext.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweeper.java
M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroReader.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroReader.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/DefaultColumnReadContext.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeReadLeafFrame.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/tuples/ColumnMultiPageZeroBufferProvider.java
13 files changed, 87 insertions(+), 58 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/03/20103/1

diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiPageZeroByteBuffersReader.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiPageZeroByteBuffersReader.java
index 2eccefd..564127c 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiPageZeroByteBuffersReader.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiPageZeroByteBuffersReader.java
@@ -161,8 +161,6 @@
             // So no need to unpin the segments.
             return;
         }
-        LOGGER.info("Unpin This should not have happened {} {}", pageZeroSegmentsPages.cardinality(),
-                numberOfPageZeroSegments);
         notRequiredSegmentsIndexes.clear();
         // Start checking from index 1 (0th segment is always pinned)
         int i = pageZeroSegmentsPages.nextClearBit(1);
diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/readers/DefaultColumnPageZeroReader.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/readers/DefaultColumnPageZeroReader.java
index 7494d24..13d92bf 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/readers/DefaultColumnPageZeroReader.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/readers/DefaultColumnPageZeroReader.java
@@ -35,6 +35,7 @@
 import org.apache.hyracks.storage.am.lsm.btree.column.api.IColumnBufferProvider;
 import org.apache.hyracks.storage.am.lsm.btree.column.cloud.IntPairUtil;
 import org.apache.hyracks.storage.am.lsm.btree.column.error.ColumnarValueException;
+import org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeReadLeafFrame;
 import org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.IColumnPageZeroReader;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -153,7 +154,7 @@
     public void getAllColumns(BitSet presentColumns) {
         int numberOfColumns = numberOfPresentColumns;
         presentColumns.set(0, numberOfColumns);
-        if (numberOfColumns > 90) {
+        if (numberOfColumns > 91) {
             // Dump the buffer to debug the issue
             LOGGER.info("SDebugging Page Zero Buffer: {}", Arrays.toString(pageZeroBuf.array()));
         }
@@ -208,6 +209,11 @@
     }
 
     @Override
+    public void setFrame(ColumnBTreeReadLeafFrame columnBTreeReadLeafFrame) {
+
+    }
+
+    @Override
     public void printPageZeroReaderInfo() {
         ColumnarValueException ex = new ColumnarValueException();
         ObjectNode readerNode = ex.createNode(getClass().getSimpleName());
diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroReader.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroReader.java
index 13a12e3..68c0f03 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroReader.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroReader.java
@@ -41,6 +41,7 @@
 import org.apache.hyracks.storage.am.lsm.btree.column.api.IColumnBufferProvider;
 import org.apache.hyracks.storage.am.lsm.btree.column.cloud.IntPairUtil;
 import org.apache.hyracks.storage.am.lsm.btree.column.error.ColumnarValueException;
+import org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeReadLeafFrame;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
@@ -53,6 +54,10 @@
     private int zerothSegmentMaxColumns;
     private int numberOfPageZeroSegments; // includes the zeroth segment
     private ByteBuffer pageZeroBuf;
+    private int numberOfColumns;
+    ColumnBTreeReadLeafFrame frame;
+    int debugPageId = -1; // for debugging purposes, to track the page id being read
+    int debugFileId = -1; // for debugging purposes, to track the file id being read
 
     private final VoidPointable offsetPointable;
 
@@ -67,7 +72,6 @@
 
     @Override
     public void resetStream(IColumnBufferProvider pageZeroSegmentBufferProvider) throws HyracksDataException {
-        LOGGER.info("resetStream called for DefaultColumnMultiPageZeroReader");
         segmentBuffers.reset(pageZeroSegmentBufferProvider);
     }
 
@@ -76,13 +80,12 @@
         pageZeroSegmentsPages.clear();
         this.pageZeroBuf = pageZeroBuf;
         zerothSegmentMaxColumns = pageZeroBuf.getInt(MAX_COLUMNS_IN_ZEROTH_SEGMENT);
+        numberOfColumns = getNumberOfPresentColumns();
         zerothSegmentReader.reset(pageZeroBuf, Math.min(zerothSegmentMaxColumns, getNumberOfPresentColumns()),
                 headerSize);
         numberOfPageZeroSegments = pageZeroBuf.getInt(NUMBER_OF_PAGE_ZERO_SEGMENTS_OFFSET);
-        if (getNumberOfPresentColumns() > 91 || zerothSegmentMaxColumns != 5000) {
-            LOGGER.info("This is shit.... {} {} {}", getNumberOfPageZeroSegments(), getNumberOfPresentColumns(),
-                    zerothSegmentMaxColumns);
-        }
+        debugPageId = frame.getPageId();
+        debugFileId = frame.getFileId();
     }
 
     @Override
@@ -117,11 +120,6 @@
     public BitSet getPageZeroSegmentsPages() {
         //If pageZeroSegmentsPages is null, it means that the CloudReadContext is not being used.
         // which indicates all the segments are being read.
-        if (pageZeroSegmentsPages.cardinality() > 0) {
-            LOGGER.info("This should not have happened {} {}", pageZeroSegmentsPages.cardinality(),
-                    numberOfPageZeroSegments);
-        }
-        //        return zerothSegmentReader.getPageZeroSegmentsPages();
         return pageZeroSegmentsPages;
     }
 
@@ -231,13 +229,20 @@
 
     @Override
     public void getAllColumns(BitSet presentColumns) {
-        //        int numberOfColumns = getNumberOfPresentColumns();
-        //        presentColumns.set(0, numberOfColumns);
-        //        if (numberOfColumns > 91) {
-        //            // Dump the buffer to debug the issue
-        //            LOGGER.info("MultiPageZero-2 is giving shit buffer... {}", numberOfColumns);
-        //        }
-        zerothSegmentReader.getAllColumns(presentColumns);
+        //the issue seems like, somewhere the page is getting unpinned.
+        //                int numberOfColumns = getNumberOfPresentColumns();
+        //                presentColumns.set(0, numberOfColumns);
+        //                if (numberOfColumns > 91) {
+        //                    // Dump the buffer to debug the issue
+        //                    LOGGER.info("MultiPageZero-2 is giving shit buffer... {}", numberOfColumns);
+        //                }
+        //        zerothSegmentReader.getAllColumns(presentColumns);
+        if (numberOfColumns != getNumberOfPresentColumns()) {
+            // this should not have occurred
+            LOGGER.info("debug: rogue page {} {} -> {} {}", debugFileId, debugPageId, frame.getFileId(),
+                    frame.getPageId());
+        }
+        presentColumns.set(0, getNumberOfPresentColumns());
     }
 
     @Override
@@ -245,20 +250,8 @@
         return pageZeroBuf;
     }
 
-    int cnt = 0;
-    int nCnt = 0;
-
     @Override
     public int populateOffsetColumnIndexPairs(long[] offsetColumnIndexPairs) {
-        if (getNumberOfPresentColumns() > 91 && nCnt == 0) {
-            LOGGER.info("WTF... why the buffer is shit {} {}", getNumberOfPresentColumns(),
-                    getNumberOfPageZeroSegments());
-            nCnt++;
-        }
-        if (cnt == 0) {
-            LOGGER.info("Trying popopulateOffsetColumnIndexPairs from MultiPageZero");
-            cnt++;
-        }
         int columnOffsetStart = headerSize;
         int numberOfColumns = getNumberOfPresentColumns();
         int currentColumnIndex = 0;
@@ -270,17 +263,12 @@
             currentColumnIndex++;
         }
 
-        if (numberOfColumns > zerothSegmentMaxColumns || currentColumnIndex != numberOfColumns) {
-            LOGGER.info("Mdfak how can this be possible {} {}", numberOfColumns, zerothSegmentMaxColumns);
-        }
-
         if (numberOfColumns > zerothSegmentMaxColumns) {
             // read the rest of the columns from the segment stream
             currentColumnIndex = segmentBuffers.readOffset(offsetColumnIndexPairs, zerothSegmentMaxColumns,
                     maxNumberOfColumnsInAPage, currentColumnIndex);
         }
         return currentColumnIndex;
-        //        return zerothSegmentReader.populateOffsetColumnIndexPairs(offsetColumnIndexPairs);
     }
 
     @Override
@@ -290,12 +278,7 @@
         if (numberOfPageZeroSegments == 1 || markAll) {
             // mark all segments as required
             pageZeroSegmentsPages.set(1, numberOfPageZeroSegments);
-            if (pageZeroSegmentsPages.cardinality() > 0) {
-                LOGGER.info("why the hell are we marking all segments as required? {} {}",
-                        pageZeroSegmentsPages.cardinality(), numberOfPageZeroSegments);
-            }
         } else {
-            LOGGER.info("Mdfak how can this be possible {} {}", numberOfPageZeroSegments, zerothSegmentMaxColumns);
             // Iterate over the projected columns and mark the segments that contain them
             int currentIndex = projectedColumns.nextSetBit(zerothSegmentMaxColumns);
             int totalNumberOfColumns = getNumberOfPresentColumns();
@@ -314,8 +297,6 @@
         }
 
         return pageZeroSegmentsPages;
-
-        //        return zerothSegmentReader.markRequiredPageSegments(projectedColumns, pageZeroId, markAll);
     }
 
     @Override
@@ -324,6 +305,11 @@
     }
 
     @Override
+    public void setFrame(ColumnBTreeReadLeafFrame columnBTreeReadLeafFrame) {
+        this.frame = columnBTreeReadLeafFrame;
+    }
+
+    @Override
     public int getHeaderSize() {
         return EXTENDED_HEADER_SIZE;
     }
diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroWriter.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroWriter.java
index 25eeca6..778f9d3 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroWriter.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/DefaultColumnMultiPageZeroWriter.java
@@ -104,15 +104,6 @@
     @Override
     public void resetBasedOnColumns(int[] presentColumns, int numberOfColumns) throws HyracksDataException {
         this.numberOfColumns = numberOfColumns;
-        if (numberOfColumns > 90) {
-            // Print the stack trace when the number of columns is more than 90
-            // This is a debug statement to help identify issues with large number of columns
-            LOGGER.info("something wrong while writing page zero with more than 90 columns: {}", numberOfColumns);
-            StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
-            for (StackTraceElement stackTraceElement : stackTrace) {
-                LOGGER.info(stackTraceElement.toString());
-            }
-        }
         this.numberOfColumnInZerothSegment = Math.min(numberOfColumns, zerothSegmentMaxColumns);
         this.numberOfPageZeroSegments = calculateNumberOfPageZeroSegments(numberOfColumns,
                 numberOfColumnInZerothSegment, maximumNumberOfColumnsInAPage);
diff --git a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/SparseColumnMultiPageZeroReader.java b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/SparseColumnMultiPageZeroReader.java
index c36580c..4143faa 100644
--- a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/SparseColumnMultiPageZeroReader.java
+++ b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/writers/multipage/SparseColumnMultiPageZeroReader.java
@@ -41,6 +41,7 @@
 import org.apache.hyracks.storage.am.lsm.btree.column.api.IColumnBufferProvider;
 import org.apache.hyracks.storage.am.lsm.btree.column.cloud.IntPairUtil;
 import org.apache.hyracks.storage.am.lsm.btree.column.error.ColumnarValueException;
+import org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeReadLeafFrame;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
@@ -386,6 +387,11 @@
     }
 
     @Override
+    public void setFrame(ColumnBTreeReadLeafFrame columnBTreeReadLeafFrame) {
+
+    }
+
+    @Override
     public void printPageZeroReaderInfo() {
         ColumnarValueException ex = new ColumnarValueException();
         ObjectNode readerNode = ex.createNode(getClass().getSimpleName());
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudColumnReadContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudColumnReadContext.java
index 181aa06..6c7f66b 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudColumnReadContext.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudColumnReadContext.java
@@ -45,6 +45,8 @@
 import org.apache.hyracks.storage.common.file.BufferedFileHandle;
 import org.apache.hyracks.util.IThreadStats;
 import org.apache.hyracks.util.annotations.NotThreadSafe;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 @NotThreadSafe
 public final class CloudColumnReadContext implements IColumnReadContext {
@@ -78,8 +80,13 @@
         }
     }
 
+    private static final Logger LOGGER = LogManager.getLogger();
+
     @Override
     public void onPin(ICachedPage page) {
+        if (operation == MERGE) {
+            LOGGER.debug("debug: Pinning page: {}", page);
+        }
         CloudCachedPage cloudPage = (CloudCachedPage) page;
         ISweepLockInfo lockTest = cloudPage.beforeRead();
         if (lockTest.isLocked()) {
@@ -90,6 +97,9 @@
 
     @Override
     public void onUnpin(ICachedPage page) {
+        if (operation == MERGE) {
+            LOGGER.debug("debug: UnPinning page: {}", page);
+        }
         CloudCachedPage cloudPage = (CloudCachedPage) page;
         cloudPage.afterRead();
     }
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudMegaPageReadContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudMegaPageReadContext.java
index 1c42ec0..6a24093 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudMegaPageReadContext.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/CloudMegaPageReadContext.java
@@ -82,6 +82,9 @@
 
     @Override
     public void onPin(ICachedPage page) throws HyracksDataException {
+        if (operation == MERGE) {
+            LOGGER.debug("debug: Pinning page {}", page);
+        }
         CloudCachedPage cachedPage = (CloudCachedPage) page;
         if (cachedPage.skipCloudStream()) {
             /*
@@ -97,6 +100,9 @@
 
     @Override
     public void onUnpin(ICachedPage page) {
+        if (operation == MERGE) {
+            LOGGER.debug("debug: UnPinning page {}", page);
+        }
         // NoOp
     }
 
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/DefaultColumnReadContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/DefaultColumnReadContext.java
index 5917f65..abf74c6 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/DefaultColumnReadContext.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/buffercache/read/DefaultColumnReadContext.java
@@ -41,6 +41,7 @@
 
     @Override
     public void onPin(ICachedPage page) {
+        System.out.println("debug: why am I here? ");
         // NoOp
     }
 
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweepPlanner.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweepPlanner.java
index 5b837a1..38ffbd5 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweepPlanner.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweepPlanner.java
@@ -227,6 +227,10 @@
                 maxSize = Math.max(maxSize, sizes[i]);
             }
         } finally {
+            if (!pageZeroSegmentsTempHolder.isEmpty()) {
+                // Unpin the segments that were pinned for calculating the sizes
+                LOGGER.info("debug: why are we unpinning segments? {}", pageZeroSegmentsTempHolder.size());
+            }
             // unpin the segment pages
             for (ICachedPage segmentPage : pageZeroSegmentsTempHolder) {
                 bufferCache.unpin(segmentPage);
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweeper.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweeper.java
index ba4376f..38d44df 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweeper.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/cloud/sweep/ColumnSweeper.java
@@ -190,6 +190,9 @@
                     if (columnsLocked) {
                         page0.sweepUnlock();
                     }
+                    if (!segmentPagesTempHolder.isEmpty()) {
+                        LOGGER.info("debug: why the segment pages are not empty? {}", segmentPagesTempHolder.size());
+                    }
                     // unpin segment pages
                     for (ICachedPage cachedPage : segmentPagesTempHolder) {
                         try {
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeReadLeafFrame.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeReadLeafFrame.java
index 64896ac..4474b53 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeReadLeafFrame.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeReadLeafFrame.java
@@ -54,12 +54,8 @@
     @Override
     protected void resetPageZeroReader() {
         columnPageZeroReader = pageZeroWriterFlavorSelector.createPageZeroReader(getFlagByte(), buf.capacity());
+        columnPageZeroReader.setFrame(this);
         columnPageZeroReader.reset(buf);
-        if (buf.getInt(4) > 90) {
-            // something is wrong with the page, how the columnCount > 90?
-            LOGGER.info("something is wrong with the page, columnCount > 90, " + "pageId: {}, fileId: {}", getPageId(),
-                    BufferedFileHandle.getFileId(((CachedPage) page).getDiskPageId()));
-        }
         buf.position(columnPageZeroReader.getHeaderSize());
     }
 
@@ -116,6 +112,10 @@
         return BufferedFileHandle.getPageId(((CachedPage) page).getDiskPageId());
     }
 
+    public int getFileId() {
+        return BufferedFileHandle.getFileId(((CachedPage) page).getDiskPageId());
+    }
+
     public int getNumberOfPageZeroSegments() {
         return columnPageZeroReader.getNumberOfPageZeroSegments();
     }
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroReader.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroReader.java
index f57eba3..389ab14 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroReader.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroReader.java
@@ -79,4 +79,6 @@
     void printPageZeroReaderInfo();
 
     void unPinNotRequiredPageZeroSegments() throws HyracksDataException;
+
+    void setFrame(ColumnBTreeReadLeafFrame columnBTreeReadLeafFrame);
 }
diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/tuples/ColumnMultiPageZeroBufferProvider.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/tuples/ColumnMultiPageZeroBufferProvider.java
index c60ca79..21e88ac 100644
--- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/tuples/ColumnMultiPageZeroBufferProvider.java
+++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/tuples/ColumnMultiPageZeroBufferProvider.java
@@ -30,6 +30,8 @@
 import org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeReadLeafFrame;
 import org.apache.hyracks.storage.common.buffercache.CachedPage;
 import org.apache.hyracks.storage.common.buffercache.ICachedPage;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import it.unimi.dsi.fastutil.ints.Int2IntMap;
 import it.unimi.dsi.fastutil.ints.IntList;
@@ -94,8 +96,13 @@
         return segment.getBuffer();
     }
 
+    private static final Logger LOGGER = LogManager.getLogger();
+
     @Override
     public void releaseAll() throws HyracksDataException {
+        if (pages.size() > 1) {
+            LOGGER.info("debug: This should have not happened {}", pages.size());
+        }
         for (ICachedPage page : pages) {
             if (page != null) {
                 multiPageOp.unpin(page);

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20103
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: ionic
Gerrit-Change-Id: I87942852f7411ccae9cb90581f3118ba2de869b7
Gerrit-Change-Number: 20103
Gerrit-PatchSet: 1
Gerrit-Owner: Ritik Raj <ri...@couchbase.com>
Gerrit-MessageType: newchange