{"record":{"id":"0c6e1d16072f8c40","repo":"apache/iceberg","slug":"incremental-append-scan-is-not-supported","errorCode":null,"errorMessage":"Incremental append scan is not supported","messagePattern":"Incremental append scan is not supported","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"api/src/main/java/org/apache/iceberg/Table.java","lineNumber":72,"sourceCode":"   * Create a new {@link BatchScan batch scan} for this table.\n   *\n   * <p>Once a batch scan is created, it can be refined to project columns and filter data.\n   *\n   * @return a batch scan for this table\n   */\n  default BatchScan newBatchScan() {\n    return new BatchScanAdapter(newScan());\n  }\n\n  /**\n   * Create a new {@link IncrementalAppendScan scan} for this table.\n   *\n   * <p>Once a scan is created, it can be refined to project columns and filter data.\n   *\n   * @return an incremental scan for appends only snapshots\n   */\n  default IncrementalAppendScan newIncrementalAppendScan() {\n    throw new UnsupportedOperationException(\"Incremental append scan is not supported\");\n  }\n\n  /**\n   * Create a new {@link IncrementalChangelogScan} for this table.\n   *\n   * <p>Once a scan is created, it can be refined to project columns and filter data.\n   *\n   * @return an incremental changelog scan\n   */\n  default IncrementalChangelogScan newIncrementalChangelogScan() {\n    throw new UnsupportedOperationException(\"Incremental changelog scan is not supported\");\n  }\n\n  /**\n   * Create a new {@link PartitionStatisticsScan} for this table.\n   *\n   * <p>Once a partition statistics scan is created, it can be refined to project columns and filter\n   * data.","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/apache/iceberg/blob/86d9c8fc543e7c56c9f624eb725f76c9baff9570/api/src/main/java/org/apache/iceberg/Table.java#L54-L90","documentation":"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.","triggerScenarios":"Thrown at api/src/main/java/org/apache/iceberg/Table.java:72 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86d9c8fc543e7c56c9f624eb725f76c9baff9570","analyzedAt":"2026-09-12T00:46:39.097Z","contentChangedAt":"2026-09-12T00:46:39.097Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}