Github user manishgupta88 commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2872#discussion_r234176956 --- Diff: core/src/main/java/org/apache/carbondata/core/datastore/chunk/reader/MeasureColumnChunkReader.java --- @@ -56,13 +57,14 @@ MeasureRawColumnChunk readRawMeasureChunk(FileReader fileReader, int columnIndex * @return * @throws IOException */ - ColumnPage decodeColumnPage(MeasureRawColumnChunk measureRawColumnChunk, - int pageNumber) throws IOException, MemoryException; + ColumnPage decodeColumnPage(MeasureRawColumnChunk measureRawColumnChunk, int pageNumber, + ReusableDataBuffer reusableDataBuffer) throws IOException, MemoryException; /** * Decode raw data and fill the vector */ - void decodeColumnPageAndFillVector(MeasureRawColumnChunk measureRawColumnChunk, - int pageNumber, ColumnVectorInfo vectorInfo) throws IOException, MemoryException; + void decodeColumnPageAndFillVector(MeasureRawColumnChunk measureRawColumnChunk, int pageNumber, + ColumnVectorInfo vectorInfo, ReusableDataBuffer reusableDataBuffer) + throws IOException, MemoryException; --- End diff -- Can we have separate interface methods with and wothout `ReusableDataBuffer` for both the above methods. Many places null is being passed which can be avoided using separate interface methods and then the common code can be refactored for classes implementing these methods
---