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

@dramaticlly

Copy link
Copy Markdown
ContributorAuthor

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

@uros-b

Copy link
Copy Markdown
Member

+1!

@dramaticlly
dramaticllyforce-pushed the 1.12deprecation-core-datareader branch from e994b86 to a0ece6eCompareAugust 18, 2026 23:25
@dramaticlly

Copy link
Copy Markdown
ContributorAuthor

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
dramaticllyforce-pushed the 1.12deprecation-core-datareader branch from a0ece6e to 0beebdfCompareAugust 19, 2026 18:43
@huaxingao
huaxingao merged commit 6aa43af into apache:mainAug 19, 2026
38 checks passed
@huaxingao

Copy link
Copy Markdown
Contributor

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

JustMaris pushed a commit to JustMaris/iceberg that referenced this pull request Aug 30, 2026
…mporal-logical-types
Resolves conflicts from upstream's removal of the deprecated DataReader
in favor of PlannedDataReader (apache#17699):
- core/.../data/avro/DataReader.java and its test were deleted upstream;
accepted the deletion since PlannedDataReader (which already carries
this PR's temporal logical type support) supersedes it.
- kafka-connect SchemaUtils.java: kept both the new AVRO_* schema-name
constants added here and the unrelated MAX_DECIMAL_PRECISION constant
added upstream.
Sign up for freeto 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

@dramaticlly@uros-b@huaxingao@nastra@singhpk234