This is an automated email from the ASF dual-hosted git repository.

zykkk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 0cb019eecfe [Fix](iceberg) Fix NoSuchElementException in 
IcebergSysTableJniScanner when reading empty system tables (#55379)
0cb019eecfe is described below

commit 0cb019eecfe2cfceb08343705916516acaac97b5
Author: zy-kkk <[email protected]>
AuthorDate: Mon Sep 1 14:40:08 2025 +0800

    [Fix](iceberg) Fix NoSuchElementException in IcebergSysTableJniScanner when 
reading empty system tables (#55379)
    
    Fix NoSuchElementException that occurs when querying Iceberg system
    tables with empty scan tasks by ensuring proper iterator state checking
    before calling reader.next().
---
 .../java/org/apache/doris/iceberg/IcebergSysTableJniScanner.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/fe/be-java-extensions/iceberg-metadata-scanner/src/main/java/org/apache/doris/iceberg/IcebergSysTableJniScanner.java
 
b/fe/be-java-extensions/iceberg-metadata-scanner/src/main/java/org/apache/doris/iceberg/IcebergSysTableJniScanner.java
index 9603ed35504..0bbf827c727 100644
--- 
a/fe/be-java-extensions/iceberg-metadata-scanner/src/main/java/org/apache/doris/iceberg/IcebergSysTableJniScanner.java
+++ 
b/fe/be-java-extensions/iceberg-metadata-scanner/src/main/java/org/apache/doris/iceberg/IcebergSysTableJniScanner.java
@@ -101,10 +101,13 @@ public class IcebergSysTableJniScanner extends JniScanner 
{
     @Override
     protected int getNext() throws IOException {
         int rows = 0;
-        while ((reader.hasNext() || scanTasks.hasNext()) && rows < 
getBatchSize()) {
-            if (!reader.hasNext()) {
+        while (rows < getBatchSize()) {
+            while (!reader.hasNext() && scanTasks.hasNext()) {
                 nextScanTask();
             }
+            if (!reader.hasNext()) {
+                break;
+            }
             StructLike row = reader.next();
             for (int i = 0; i < fields.size(); i++) {
                 NestedField field = fields.get(i);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to