>From Ritik Raj <[email protected]>:
Ritik Raj has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19951 )
Change subject: [ASTERIXDB-3601][STO] added config for default writer
......................................................................
[ASTERIXDB-3601][STO] added config for default writer
Change-Id: Iab9bf2459f550a8f08e1c86aa027720507a2e0a7
---
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/PageZeroWriterFlavorSelector.java
M
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroWriterFlavorSelector.java
M
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeBulkloader.java
4 files changed, 21 insertions(+), 4 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/51/19951/1
diff --git
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
index 018c604..f89d2ff 100644
---
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
+++
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java
@@ -231,7 +231,8 @@
finalizer.finalizeBatchColumns(columnMetadata, presentColumnsIndexes,
pageZeroWriter);
int afterColumns = presentColumnsIndexes.size();
int diff = afterColumns - beforeColumns;
- if (diff > 0 && diff >
transformerForCurrentTuple.getExtraColumnsCount()) {
+ if (pageZeroWriterFlavorSelector.getWriterFlag() !=
IColumnPageZeroWriter.ColumnPageZeroWriterType.DEFAULT
+ .getWriterFlag() && diff > 0 && diff >
transformerForCurrentTuple.getExtraColumnsCount()) {
throw new IllegalStateException(
"Expected Columns: " + (beforeColumns +
transformerForCurrentTuple.getExtraColumnsCount())
+ " but got " + afterColumns + " columns");
diff --git
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/PageZeroWriterFlavorSelector.java
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/PageZeroWriterFlavorSelector.java
index add4039..a2cda25 100644
---
a/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/PageZeroWriterFlavorSelector.java
+++
b/asterixdb/asterix-column/src/main/java/org/apache/asterix/column/zero/PageZeroWriterFlavorSelector.java
@@ -50,7 +50,7 @@
*/
public class PageZeroWriterFlavorSelector implements
IColumnPageZeroWriterFlavorSelector {
// Flag indicating which writer type is currently selected
(DEFAULT_WRITER_FLAG=default, SPARSE_WRITER_FLAG=sparse)
- protected byte writerFlag = MULTI_PAGE_DEFAULT_WRITER_FLAG;
+ protected byte writerFlag =
IColumnPageZeroWriter.ColumnPageZeroWriterType.ADAPTIVE.getWriterFlag();
// Cache of writer instances to avoid repeated object creation
private final Byte2ObjectArrayMap<IColumnPageZeroWriter> writers;
@@ -106,6 +106,11 @@
};
}
+ @Override
+ public byte getWriterFlag() {
+ return writerFlag;
+ }
+
/**
* Creates a page zero reader instance based on the provided flag.
* This method is used during deserialization to create the appropriate
reader
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/ColumnBTreeBulkloader.java
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeBulkloader.java
index beb1a64..8dc83be 100644
---
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeBulkloader.java
+++
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/ColumnBTreeBulkloader.java
@@ -87,8 +87,8 @@
// Writer config
maxColumnsInPageZerothSegment =
storageConfig.getStorageMaxColumnsInZerothSegment();
- pageZeroWriterType =
-
IColumnPageZeroWriter.ColumnPageZeroWriterType.valueOf(storageConfig.getStoragePageZeroWriter());
+ pageZeroWriterType = IColumnPageZeroWriter.ColumnPageZeroWriterType
+
.valueOf(storageConfig.getStoragePageZeroWriter().toUpperCase());
// For logging. Starts with 1 for page0
numberOfPagesInCurrentLeafNode = 1;
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/IColumnPageZeroWriterFlavorSelector.java
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroWriterFlavorSelector.java
index e3f1098..0dc4d4d 100644
---
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroWriterFlavorSelector.java
+++
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/btree/IColumnPageZeroWriterFlavorSelector.java
@@ -44,6 +44,8 @@
*/
void switchPageZeroWriterIfNeeded(int spaceOccupiedByDefaultWriter, int
spaceOccupiedBySparseWriter);
+ byte getWriterFlag();
+
/**
* Creates the appropriate page zero reader for the given writer type.
* <p>
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19951
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: Iab9bf2459f550a8f08e1c86aa027720507a2e0a7
Gerrit-Change-Number: 19951
Gerrit-PatchSet: 1
Gerrit-Owner: Ritik Raj <[email protected]>
Gerrit-MessageType: newchange