apache/iceberg · error · UnsupportedOperationException
Incremental append scan is not supported
Error message
Incremental append scan is not supported
What it means
Default-method guard on Table: this table implementation does not support incremental append scans, so any call to newIncrementalAppendScan fails. It fires for table implementations (e.g. read-only or wrapped tables) that never wired up IncrementalAppendScan support — the table's data is fine, the capability is missing.
Solutions
- Load the table through a catalog/implementation that supports incremental append scans
- Fall back to a full newBatchScan and filter by snapshot range manually
- Catch UnsupportedOperationException and report that incremental scans are unsupported for this table
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at api/src/main/java/org/apache/iceberg/Table.java:72 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12).
Data as JSON: /api/errors/0c6e1d16072f8c40.
Report an issue: GitHub.
Appendix: source
Thrown at api/src/main/java/org/apache/iceberg/Table.java:72
* Create a new {@link BatchScan batch scan} for this table.
*
* <p>Once a batch scan is created, it can be refined to project columns and filter data.
*
* @return a batch scan for this table
*/
default BatchScan newBatchScan() {
return new BatchScanAdapter(newScan());
}
/**
* Create a new {@link IncrementalAppendScan scan} for this table.
*
* <p>Once a scan is created, it can be refined to project columns and filter data.
*
* @return an incremental scan for appends only snapshots
*/
default IncrementalAppendScan newIncrementalAppendScan() {
throw new UnsupportedOperationException("Incremental append scan is not supported");
}
/**
* Create a new {@link IncrementalChangelogScan} for this table.
*
* <p>Once a scan is created, it can be refined to project columns and filter data.
*
* @return an incremental changelog scan
*/
default IncrementalChangelogScan newIncrementalChangelogScan() {
throw new UnsupportedOperationException("Incremental changelog scan is not supported");
}
/**
* Create a new {@link PartitionStatisticsScan} for this table.
*
* <p>Once a partition statistics scan is created, it can be refined to project columns and filter
* data.View on GitHub (pinned to 86d9c8fc54)