>From Ritik Raj <[email protected]>: Ritik Raj has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19812 )
Change subject: WIP: Supporting sparse column writer ...................................................................... Patch Set 1: (1 comment) File asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnTupleWriter.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19812/comment/18329eba_d2bfea94 PS1, Line 127: @Override : public int getColumnOffsetsSize(boolean includeCurrentTupleColumns) { : // The dilemma is in order to accurately predict the space occupied by the columns : // the writer is supposed to know beforehand, but we won't know the number of columns : // until flush. : : int writtenColumns = getAbsoluteNumberOfColumns(false); : int deltaColumnsAdded = 0; : if (includeCurrentTupleColumns) { : deltaColumnsAdded = columnMetadataWithCurrentTuple.getDeltaColumnsAdded(); : } : int totalColumns = writtenColumns + deltaColumnsAdded; : int defaultSize = totalColumns * DefaultColumnPageZeroWriter.COLUMN_OFFSET_SIZE; : : int presentColumns = presentColumnsIndexes.size(); : int sparseSize = (presentColumns + deltaColumnsAdded) * SparseColumnPageZeroWriter.COLUMN_OFFSET_SIZE; : return Math.max(defaultSize, sparseSize); : } : : @Override : public final int getOccupiedSpace() { : // get the present number of columns : int columnsAvailable = getAbsoluteNumberOfColumns(false); : // new columns added for the current tuple : int deltaColumnsAdded = columnMetadataWithCurrentTuple.getDeltaColumnsAdded(); : // total expected space occupied : int filterSize = (columnsAvailable + deltaColumnsAdded) * DefaultColumnPageZeroWriter.FILTER_SIZE; : return primaryKeysEstimatedSize + filterSize; : } chicken-egg problem of determining whether current tuple will fit or not. thinking about this. -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19812 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I151d376cc94ea858a25fe8396c53775125ef7de6 Gerrit-Change-Number: 19812 Gerrit-PatchSet: 1 Gerrit-Owner: Ritik Raj <[email protected]> Gerrit-CC: Jenkins <[email protected]> Gerrit-Comment-Date: Fri, 23 May 2025 09:36:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
