diff --git a/parquet-column/src/main/java/org/apache/parquet/column/impl/ColumnWriteStoreBase.java b/parquet-column/src/main/java/org/apache/parquet/column/impl/ColumnWriteStoreBase.java index a5e7836b3a..8cfdace8de 100644 --- a/parquet-column/src/main/java/org/apache/parquet/column/impl/ColumnWriteStoreBase.java +++ b/parquet-column/src/main/java/org/apache/parquet/column/impl/ColumnWriteStoreBase.java @@ -237,10 +237,11 @@ private void sizeCheck() { } else { rowCountForNextRowCountCheck = min(rowCountForNextRowCountCheck, writer.getRowsWrittenSoFar() + pageRowCountLimit); } + //estimate remaining row count by previous input for next row count check long rowsToFillPage = usedMem == 0 ? props.getMaxRowCountForPageSizeCheck() - : (long) rows / usedMem * remainingMem; + : rows * remainingMem / usedMem; if (rowsToFillPage < minRecordToWait) { minRecordToWait = rowsToFillPage; }