Skip to content

Core: Remove deprecated DataReader in favor of PlannedDataReader - #17699

Merged
huaxingao merged 1 commit into
apache:mainfrom
dramaticlly:1.12deprecation-core-datareader
Aug 19, 2026
Merged

Core: Remove deprecated DataReader in favor of PlannedDataReader#17699
huaxingao merged 1 commit into
apache:mainfrom
dramaticlly:1.12deprecation-core-datareader

Conversation

@dramaticlly

Copy link
Copy Markdown
Contributor

Removes Avro read paths deprecated for removal in 1.12.0:

  • org.apache.iceberg.data.avro.DataReader (class) → PlannedDataReader
  • RawDecoder(Schema, Function<Schema, DatumReader<?>>, Schema)RawDecoder.create(Schema, Function, Schema)

Neither has any remaining reference in main or test sources. TestDataReader is removed along with the class it covered; PlannedDataReader has its own coverage.

Split out of #16449 to reduce reviewer burden.

AI Disclosure

Model: Claude Opus 5 (1M context)
Platform/Tool: Claude Code
Human Oversight: reviewed
Prompt Summary: split #16449 into smaller self-contained PRs; verify each group compiles and tests green standalone

@github-actions github-actions Bot added the core label Aug 17, 2026
@dramaticlly

Copy link
Copy Markdown
Contributor Author

@gaborkaszab can you help check for removal match the expectation of #14387

@uros-b

uros-b commented Aug 18, 2026

Copy link
Copy Markdown
Member

+1!

@dramaticlly
dramaticlly force-pushed the 1.12deprecation-core-datareader branch from e994b86 to a0ece6e Compare August 18, 2026 23:25
@dramaticlly

Copy link
Copy Markdown
Contributor Author

I rebased latest upstream main for resolving conflict in revapi.yml, but looks like spark CI runs into throttling problem, might need maintainer to kick off another run.

from https://github.com/apache/iceberg/actions/runs/32197106613/job/95903257724?pr=17699

* What went wrong:
Execution failed for task ':iceberg-spark:iceberg-spark-4.0_2.13:test'.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
> Could not resolve all files for configuration ':iceberg-spark:iceberg-spark-4.0_2.13:testRuntimeClasspath'.

   > Could not resolve com.microsoft.sqlserver:mssql-jdbc:6.2.1.jre7.
For more on this, please refer to https://docs.gradle.org/8.14.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
     Required by:
         project :iceberg-spark:iceberg-spark-4.0_2.13 > org.apache.hadoop:hadoop-minicluster:3.4.3 > org.apache.hadoop:hadoop-yarn-server-tests:3.4.3 > org.apache.hadoop:hadoop-yarn-server-common:3.4.3
      > Could not resolve com.microsoft.sqlserver:mssql-jdbc:6.2.1.jre7.
         > Could not get resource 'https://repo.maven.apache.org/maven2/com/microsoft/sqlserver/mssql-jdbc/6.2.1.jre7/mssql-jdbc-6.2.1.jre7.pom'.
            > Could not GET 'https://repo.maven.apache.org/maven2/com/microsoft/sqlserver/mssql-jdbc/6.2.1.jre7/mssql-jdbc-6.2.1.jre7.pom'. Received status code 429 from server: Too Many Requests

@huaxingao

Copy link
Copy Markdown
Contributor

@dramaticlly could you resolve the conflicts?

DataReader was deprecated for removal in 1.12.0; PlannedDataReader is the
replacement. Also removes the deprecated RawDecoder constructor that took
a read schema and reader function, superseded by
RawDecoder.create(Schema, Function, Schema).

No remaining references to either. TestDataReader is removed along with
the class it covered; PlannedDataReader has its own coverage in
TestPlannedDataReader.
@dramaticlly
dramaticlly force-pushed the 1.12deprecation-core-datareader branch from a0ece6e to 0beebdf Compare August 19, 2026 18:43
@huaxingao
huaxingao merged commit 6aa43af into apache:main Aug 19, 2026
38 checks passed
@huaxingao

Copy link
Copy Markdown
Contributor

Thanks @dramaticlly for the PR! Thanks everyone for the review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants