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