This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 02925398300 [fix](paimon)support readbatch #29039 (#29055) 02925398300 is described below commit 029253983002301c315c394eb3127799f9a3946d Author: wuwenchi <wuwenchi...@hotmail.com> AuthorDate: Wed Dec 27 13:00:08 2023 +0800 [fix](paimon)support readbatch #29039 (#29055) --- .../java/org/apache/doris/paimon/PaimonJniScanner.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonJniScanner.java b/fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonJniScanner.java index 237e06ad9c5..849f6fb67bb 100644 --- a/fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonJniScanner.java +++ b/fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonJniScanner.java @@ -57,6 +57,7 @@ public class PaimonJniScanner extends JniScanner { private long dbId; private long tblId; private long lastUpdateTime; + private RecordReader.RecordIterator<InternalRow> recordIterator = null; public PaimonJniScanner(int batchSize, Map<String, String> params) { LOG.debug("params:{}", params); @@ -133,18 +134,25 @@ public class PaimonJniScanner extends JniScanner { protected int getNext() throws IOException { int rows = 0; try { - RecordReader.RecordIterator<InternalRow> batch; - while ((batch = reader.readBatch()) != null) { + if (recordIterator == null) { + recordIterator = reader.readBatch(); + } + + while (recordIterator != null) { InternalRow record; - while ((record = batch.next()) != null) { + while ((record = recordIterator.next()) != null) { columnValue.setOffsetRow(record); for (int i = 0; i < fields.length; i++) { columnValue.setIdx(i, types[i]); appendData(i, columnValue); } rows++; + if (rows >= batchSize) { + return rows; + } } - batch.releaseBatch(); + recordIterator.releaseBatch(); + recordIterator = reader.readBatch(); } } catch (IOException e) { LOG.warn("failed to getNext columnValue ", e); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org