raushanprabhakar1 opened a new pull request, #16452: URL: https://github.com/apache/iceberg/pull/16452
## Summary Removes all Core APIs marked `@deprecated ... will be removed in 1.12.0` as part of [#16445](https://github.com/apache/iceberg/issues/16445). This is the first module-wise PR for the 1.12.0 deprecation cleanup. ### Deleted classes - `SystemProperties` — use `SystemConfigs` - `PartitionStats` — use `BasePartitionStatistics` / `PartitionStatistics` - `data.avro.DataReader` — use `PlannedDataReader` ### Removed APIs - `BaseScan.io()` — use `fileIO().get()` - `TableProperties.MANIFEST_LISTS_ENABLED` / `_DEFAULT` (manifest lists are always enabled) - `ThreadPools.WORKER_THREAD_POOL_SIZE_PROP`, `newWorkerPool(...)` — use `SystemConfigs.WORKER_THREAD_POOL_SIZE` / `newExitingWorkerPool(...)` - `TableScanUtil.hasDeletes(CombinedScanTask)`, `hasEqDeletes(CombinedScanTask)` - `SystemConfigs.NETFLIX_UNSAFE_PARQUET_ID_FALLBACK_ENABLED` (Parquet unsafe ID fallback removed) - `MetricsConfig.forPositionDelete(Table)` — use `forPositionDelete()` - `StandardEncryptionManager` 2-arg constructor and `wrapKey` / `unwrapKey` - `SnapshotUtil.newFiles(...)`, `newFilesBetween(...)` — use `SnapshotChanges` - `RESTSessionCatalog.REST_PAGE_SIZE` — use `RESTCatalogProperties.PAGE_SIZE` - `CatalogHandlers.loadTable(Catalog, TableIdentifier)` — use overload with `SnapshotMode` - `AvroSchemaUtil.pruneColumns(Schema, Set, NameMapping)` — use `applyNameMapping` + `pruneColumns(Schema, Set)` - `ContentCache.invalidateAll()` - `BaseScanTaskResponse.Builder.withDeleteFiles(...)` — use `withFileScanTasks(...)` - `RawDecoder` deprecated constructor — use `RawDecoder.create(...)` - `RESTUtil.NAMESPACE_JOINER`, `NAMESPACE_SPLITTER`, `encodeNamespace(Namespace)`, `decodeNamespace(String)` — use separator-aware overloads - `ManifestFiles.readPaths/read/open(ManifestFile, FileIO)` — use overloads with `specsById` - `PartitionStatsHandler` deprecated field constants, `schema(...)`, `readPartitionStatsFile(...)` — use `PartitionStatistics` equivalents / `PartitionStatisticsScan` - `PositionDelete.set(path, pos, row)`, `row()` — use `set(path, pos)` only - `RewriteTablePathUtil.PositionDeleteReaderWriter.writer(..., Schema rowSchema)` — use 4-arg `writer(...)` - `HadoopFileIO(SerializableSupplier<Configuration>)` — use `HadoopFileIO(Configuration)` **Note:** `HadoopFileIO.serializeConfWith(...)` is retained without `@Deprecated` because it is still required by `HadoopConfigurable` (same as `ResolvingFileIO`). ### Call-site updates outside Core Spark, Flink, Data, Parquet, and ORC modules were updated where they depended on removed Core APIs (e.g. position-delete `set(path, pos)` migration, `MetricsConfig.forPositionDelete()`). ### API compatibility Adds a `1.11.0` section to `.palantir/revapi.yml` documenting intentional breaks (justification: "Removing deprecated code for 1.12.0"). ## Test plan - [x] `./gradlew :iceberg-core:compileJava :iceberg-core:compileTestJava` - [x] `./gradlew revapi spotlessCheck` - [x] `./gradlew :iceberg-core:test --tests "org.apache.iceberg.rest.TestRESTUtil" --tests "org.apache.iceberg.TestManifestReader" --tests "org.apache.iceberg.PartitionStatisticsScanTestBase"` - [ ] Full `./gradlew :iceberg-core:test` - [ ] `./gradlew build -x integrationTest` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
