This is an automated email from the ASF dual-hosted git repository. kharekartik pushed a commit to branch optimise_memory in repository https://gitbox.apache.org/repos/asf/pinot.git
commit 6a98978f85a103820c29da80da9de826eba7cbf5 Author: KKcorps <[email protected]> AuthorDate: Sat Mar 26 19:27:44 2022 +0530 Reuse result arrays if input length is less than existing array length --- .../function/AdditionTransformFunction.java | 2 +- .../function/ArrayAverageTransformFunction.java | 2 +- .../function/ArrayLengthTransformFunction.java | 2 +- .../function/ArrayMaxTransformFunction.java | 10 +++++----- .../function/ArrayMinTransformFunction.java | 10 +++++----- .../function/ArraySumTransformFunction.java | 2 +- .../transform/function/CastTransformFunction.java | 12 ++++++------ .../DateTimeConversionTransformFunction.java | 4 ++-- .../function/DivisionTransformFunction.java | 2 +- .../transform/function/InIdSetTransformFunction.java | 2 +- .../function/JsonExtractKeyTransformFunction.java | 2 +- .../function/LogicalOperatorTransformFunction.java | 2 +- .../function/MapValueTransformFunction.java | 2 +- .../transform/function/ModuloTransformFunction.java | 2 +- .../function/MultiplicationTransformFunction.java | 2 +- .../function/ScalarTransformFunctionWrapper.java | 20 ++++++++++---------- .../function/SingleParamMathTransformFunction.java | 2 +- .../function/SubtractionTransformFunction.java | 2 +- .../function/TimeConversionTransformFunction.java | 2 +- 19 files changed, 42 insertions(+), 42 deletions(-) diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/AdditionTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/AdditionTransformFunction.java index 43a5da3..5ffd65a 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/AdditionTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/AdditionTransformFunction.java @@ -68,7 +68,7 @@ public class AdditionTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_sums == null) { + if (_sums == null || _sums.length < length) { _sums = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayAverageTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayAverageTransformFunction.java index e712656..8c389dc 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayAverageTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayAverageTransformFunction.java @@ -73,7 +73,7 @@ public class ArrayAverageTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int numDocs = projectionBlock.getNumDocs(); - if (_results == null) { + if (_results == null || _results.length < numDocs) { _results = new double[numDocs]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayLengthTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayLengthTransformFunction.java index 9285337..21fc21f 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayLengthTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayLengthTransformFunction.java @@ -70,7 +70,7 @@ public class ArrayLengthTransformFunction extends BaseTransformFunction { public int[] transformToIntValuesSV(ProjectionBlock projectionBlock) { int numDocs = projectionBlock.getNumDocs(); - if (_results == null) { + if (_results == null || _results.length < numDocs) { _results = new int[numDocs]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMaxTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMaxTransformFunction.java index b93aebc..46d0fea 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMaxTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMaxTransformFunction.java @@ -82,7 +82,7 @@ public class ArrayMaxTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_intValuesSV == null) { + if (_intValuesSV == null || _intValuesSV.length < length) { _intValuesSV = new int[length]; } int[][] intValuesMV = _argument.transformToIntValuesMV(projectionBlock); @@ -104,7 +104,7 @@ public class ArrayMaxTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_longValuesSV == null) { + if (_longValuesSV == null || _longValuesSV.length < length) { _longValuesSV = new long[length]; } long[][] longValuesMV = _argument.transformToLongValuesMV(projectionBlock); @@ -126,7 +126,7 @@ public class ArrayMaxTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_floatValuesSV == null) { + if (_floatValuesSV == null || _floatValuesSV.length < length) { _floatValuesSV = new float[length]; } float[][] floatValuesMV = _argument.transformToFloatValuesMV(projectionBlock); @@ -148,7 +148,7 @@ public class ArrayMaxTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_doubleValuesSV == null) { + if (_doubleValuesSV == null || _doubleValuesSV.length < length) { _doubleValuesSV = new double[length]; } double[][] doubleValuesMV = _argument.transformToDoubleValuesMV(projectionBlock); @@ -170,7 +170,7 @@ public class ArrayMaxTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_stringValuesSV == null) { + if (_stringValuesSV == null || _stringValuesSV.length < length) { _stringValuesSV = new String[length]; } String[][] stringValuesMV = _argument.transformToStringValuesMV(projectionBlock); diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMinTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMinTransformFunction.java index f2be2f9..bc3a95b 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMinTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArrayMinTransformFunction.java @@ -82,7 +82,7 @@ public class ArrayMinTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_intValuesSV == null) { + if (_intValuesSV == null || _intValuesSV.length < length) { _intValuesSV = new int[length]; } int[][] intValuesMV = _argument.transformToIntValuesMV(projectionBlock); @@ -104,7 +104,7 @@ public class ArrayMinTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_longValuesSV == null) { + if (_longValuesSV == null || _longValuesSV.length < length) { _longValuesSV = new long[length]; } @@ -127,7 +127,7 @@ public class ArrayMinTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_floatValuesSV == null) { + if (_floatValuesSV == null || _floatValuesSV.length < length) { _floatValuesSV = new float[length]; } @@ -150,7 +150,7 @@ public class ArrayMinTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_doubleValuesSV == null) { + if (_doubleValuesSV == null || _doubleValuesSV.length < length) { _doubleValuesSV = new double[length]; } @@ -173,7 +173,7 @@ public class ArrayMinTransformFunction extends BaseTransformFunction { int length = projectionBlock.getNumDocs(); - if (_stringValuesSV == null) { + if (_stringValuesSV == null || _stringValuesSV.length < length) { _stringValuesSV = new String[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArraySumTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArraySumTransformFunction.java index 85c86ce..92804ee 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArraySumTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ArraySumTransformFunction.java @@ -73,7 +73,7 @@ public class ArraySumTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_results == null) { + if (_results == null || _results.length < length) { _results = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CastTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CastTransformFunction.java index eb361ca..94dfbf3 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CastTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CastTransformFunction.java @@ -101,7 +101,7 @@ public class CastTransformFunction extends BaseTransformFunction { } else { int numDocs = projectionBlock.getNumDocs(); - if (_intValuesSV == null) { + if (_intValuesSV == null || _intValuesSV.length < numDocs) { _intValuesSV = new int[numDocs]; } switch (resultStoredType) { @@ -137,7 +137,7 @@ public class CastTransformFunction extends BaseTransformFunction { } else { int numDocs = projectionBlock.getNumDocs(); - if (_longValuesSV == null) { + if (_longValuesSV == null || _longValuesSV.length < numDocs) { _longValuesSV = new long[numDocs]; } switch (resultStoredType) { @@ -173,7 +173,7 @@ public class CastTransformFunction extends BaseTransformFunction { } else { int numDocs = projectionBlock.getNumDocs(); - if (_floatValuesSV == null) { + if (_floatValuesSV == null || _floatValuesSV.length < numDocs) { _floatValuesSV = new float[numDocs]; } switch (resultStoredType) { @@ -209,7 +209,7 @@ public class CastTransformFunction extends BaseTransformFunction { } else { int numDocs = projectionBlock.getNumDocs(); - if (_doubleValuesSV == null) { + if (_doubleValuesSV == null || _doubleValuesSV.length < numDocs) { _doubleValuesSV = new double[numDocs]; } switch (resultStoredType) { @@ -246,7 +246,7 @@ public class CastTransformFunction extends BaseTransformFunction { // Specialize BOOlEAN and TIMESTAMP when casting to STRING DataType inputDataType = _transformFunction.getResultMetadata().getDataType(); if (inputDataType.getStoredType() != inputDataType) { - if (_stringValuesSV == null) { + if (_stringValuesSV == null || _stringValuesSV.length < numDocs) { _stringValuesSV = new String[numDocs]; } if (inputDataType == DataType.BOOLEAN) { @@ -266,7 +266,7 @@ public class CastTransformFunction extends BaseTransformFunction { return _transformFunction.transformToStringValuesSV(projectionBlock); } } else { - if (_stringValuesSV == null) { + if (_stringValuesSV == null || _stringValuesSV.length < numDocs) { _stringValuesSV = new String[numDocs]; } switch (resultDataType) { diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DateTimeConversionTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DateTimeConversionTransformFunction.java index d895387..e40435a 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DateTimeConversionTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DateTimeConversionTransformFunction.java @@ -129,7 +129,7 @@ public class DateTimeConversionTransformFunction extends BaseTransformFunction { if (_resultMetadata == LONG_SV_NO_DICTIONARY_METADATA) { int length = projectionBlock.getNumDocs(); - if (_longOutputTimes == null) { + if (_longOutputTimes == null || _longOutputTimes.length < length) { _longOutputTimes = new long[length]; } @@ -153,7 +153,7 @@ public class DateTimeConversionTransformFunction extends BaseTransformFunction { if (_resultMetadata == STRING_SV_NO_DICTIONARY_METADATA) { int length = projectionBlock.getNumDocs(); - if (_stringOutputTimes == null) { + if (_stringOutputTimes == null || _stringOutputTimes.length < length) { _stringOutputTimes = new String[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DivisionTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DivisionTransformFunction.java index c04cb5d..eb40612 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DivisionTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/DivisionTransformFunction.java @@ -79,7 +79,7 @@ public class DivisionTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_quotients == null) { + if (_quotients == null || _quotients.length < length) { _quotients = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/InIdSetTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/InIdSetTransformFunction.java index 9938c65..cc44d9f 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/InIdSetTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/InIdSetTransformFunction.java @@ -77,7 +77,7 @@ public class InIdSetTransformFunction extends BaseTransformFunction { public int[] transformToIntValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_results == null) { + if (_results == null || _results.length < length) { _results = new int[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java index df00077..0463788 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractKeyTransformFunction.java @@ -88,7 +88,7 @@ public class JsonExtractKeyTransformFunction extends BaseTransformFunction { public String[][] transformToStringValuesMV(ProjectionBlock projectionBlock) { int numDocs = projectionBlock.getNumDocs(); - if (_stringValuesMV == null) { + if (_stringValuesMV == null || _stringValuesSV.length < numDocs) { _stringValuesMV = new String[numDocs][]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunction.java index 7818245..a6496da 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunction.java @@ -62,7 +62,7 @@ public abstract class LogicalOperatorTransformFunction extends BaseTransformFunc public int[] transformToIntValuesSV(ProjectionBlock projectionBlock) { int numDocs = projectionBlock.getNumDocs(); - if (_results == null) { + if (_results == null || _results.length < numDocs) { _results = new int[numDocs]; } ArrayCopyUtils.copy(_arguments.get(0).transformToIntValuesSV(projectionBlock), _results, numDocs); diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MapValueTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MapValueTransformFunction.java index bdb6b39..45d14a4 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MapValueTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MapValueTransformFunction.java @@ -99,7 +99,7 @@ public class MapValueTransformFunction extends BaseTransformFunction { public int[] transformToDictIdsSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_dictIds == null) { + if (_dictIds == null || _dictIds.length < length) { _dictIds = new int[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ModuloTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ModuloTransformFunction.java index 68cb165..ea1c3e1 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ModuloTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ModuloTransformFunction.java @@ -79,7 +79,7 @@ public class ModuloTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_modulos == null) { + if (_modulos == null || _modulos.length < length) { _modulos = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MultiplicationTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MultiplicationTransformFunction.java index df24e8c..73db62d 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MultiplicationTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/MultiplicationTransformFunction.java @@ -68,7 +68,7 @@ public class MultiplicationTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_products == null) { + if (_products == null || _products.length < length) { _products = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ScalarTransformFunctionWrapper.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ScalarTransformFunctionWrapper.java index 518776d..74e1fa3 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ScalarTransformFunctionWrapper.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/ScalarTransformFunctionWrapper.java @@ -127,7 +127,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_intResults == null) { + if (_intResults == null || _intResults.length < length) { _intResults = new int[length]; } getNonLiteralValues(projectionBlock); @@ -147,7 +147,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_longResults == null) { + if (_longResults == null || _longResults.length < length) { _longResults = new long[length]; } getNonLiteralValues(projectionBlock); @@ -167,7 +167,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_floatResults == null) { + if (_floatResults == null || _floatResults.length < length) { _floatResults = new float[length]; } getNonLiteralValues(projectionBlock); @@ -187,7 +187,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_doubleResults == null) { + if (_doubleResults == null || _doubleResults.length < length) { _doubleResults = new double[length]; } getNonLiteralValues(projectionBlock); @@ -207,7 +207,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_stringResults == null) { + if (_stringResults == null || _stringResults.length < length) { _stringResults = new String[length]; } getNonLiteralValues(projectionBlock); @@ -229,7 +229,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_bytesResults == null) { + if (_bytesResults == null || _bytesResults.length < length) { _bytesResults = new byte[length][]; } getNonLiteralValues(projectionBlock); @@ -269,7 +269,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_longMVResults == null) { + if (_longMVResults == null || _longMVResults.length < length) { _longMVResults = new long[length][]; } getNonLiteralValues(projectionBlock); @@ -289,7 +289,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_floatMVResults == null) { + if (_floatMVResults == null || _floatMVResults.length < length) { _floatMVResults = new float[length][]; } getNonLiteralValues(projectionBlock); @@ -309,7 +309,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_doubleMVResults == null) { + if (_doubleMVResults == null || _doubleMVResults.length < length) { _doubleMVResults = new double[length][]; } getNonLiteralValues(projectionBlock); @@ -329,7 +329,7 @@ public class ScalarTransformFunctionWrapper extends BaseTransformFunction { } int length = projectionBlock.getNumDocs(); - if (_stringMVResults == null) { + if (_stringMVResults == null || _stringMVResults.length < length) { _stringMVResults = new String[length][]; } getNonLiteralValues(projectionBlock); diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SingleParamMathTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SingleParamMathTransformFunction.java index e667078..d4d3408 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SingleParamMathTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SingleParamMathTransformFunction.java @@ -56,7 +56,7 @@ public abstract class SingleParamMathTransformFunction extends BaseTransformFunc public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_doubleValuesSV == null) { + if (_doubleValuesSV == null || _doubleValuesMV.length < length) { _doubleValuesSV = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SubtractionTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SubtractionTransformFunction.java index f1a9540..383eb5d 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SubtractionTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/SubtractionTransformFunction.java @@ -79,7 +79,7 @@ public class SubtractionTransformFunction extends BaseTransformFunction { public double[] transformToDoubleValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_differences == null) { + if (_differences == null || _differences.length < length) { _differences = new double[length]; } diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TimeConversionTransformFunction.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TimeConversionTransformFunction.java index a32546d..94a2f6e 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TimeConversionTransformFunction.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TimeConversionTransformFunction.java @@ -70,7 +70,7 @@ public class TimeConversionTransformFunction extends BaseTransformFunction { public long[] transformToLongValuesSV(ProjectionBlock projectionBlock) { int length = projectionBlock.getNumDocs(); - if (_outputTimes == null) { + if (_outputTimes == null || _outputTimes.length < length) { _outputTimes = new long[length]; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
