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]