>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

Reply via email to