The 3 PRs above are merged. Thanks everyone for the review. I've added 2 more PRs to the 1.10 milestone. These are both nice-to-haves. - docs: add subpage for REST Catalog Spec in "Specification" #13521 <https://github.com/apache/iceberg/pull/13521> - REST-Fixture: Ensure strict mode on jdbc catalog for rest fixture #13599 <https://github.com/apache/iceberg/pull/13599>
The first one changes the link for "REST Catalog Spec" on the left nav of https://iceberg.apache.org/spec/ from the swagger.io link to a dedicated page for IRC. The second one fixes the default behavior of `iceberg-rest-fixture` image to align with the general expectation when creating a table in a catalog. Please take a look. I would like to have both of these as part of the 1.10 release. Best, Kevin Liu On Wed, Jul 23, 2025 at 1:31 PM Kevin Liu <kevinjq...@apache.org> wrote: > Here are the 3 PRs to add corresponding tests. > https://github.com/apache/iceberg/pull/13648 > https://github.com/apache/iceberg/pull/13649 > https://github.com/apache/iceberg/pull/13650 > > I've tagged them with the 1.10 milestone, waiting for CI to complete :) > > Best, > Kevin Liu > > On Wed, Jul 23, 2025 at 1:08 PM Steven Wu <stevenz...@gmail.com> wrote: > >> Kevin, thanks for checking that. I will take a look at your backport PRs. >> Can you add them to the 1.10.0 milestone? >> >> On Wed, Jul 23, 2025 at 12:27 PM Kevin Liu <kevinjq...@apache.org> wrote: >> >>> Thanks again for driving this Steven! We're very close!! >>> >>> As mentioned in the community sync today, I wanted to verify feature >>> parity between Spark 3.5 and Spark 4.0 for this release. >>> I was able to verify that Spark 3.5 and Spark 4.0 have feature parity >>> for this upcoming release. More details in the other devlist thread >>> https://lists.apache.org/thread/7x7xcm3y87y81c4grq4nn9gdjd4jm05f >>> >>> Thanks, >>> Kevin Liu >>> >>> On Wed, Jul 23, 2025 at 12:17 PM Steven Wu <stevenz...@gmail.com> wrote: >>> >>>> Another update on the release. >>>> >>>> The existing blocker PRs are almost done. >>>> >>>> During today's community sync, we identified the following issues/PRs >>>> to be included in the 1.10.0 release. >>>> >>>> 1. backport of PR 13100 to the main branch. I have created a cherry-pick >>>> PR <https://github.com/apache/iceberg/pull/13647> for that. There >>>> is a one line difference compared to the original PR due to the removal >>>> of >>>> the deprecated RemoveSnapshot class in main branch for 1.10.0 target. >>>> Amogh >>>> has suggested using RemoveSnapshots with a single snapshot id, which >>>> should >>>> be supported by all REST catalog servers. >>>> 2. Flink compaction doesn't support row lineage. Fail the >>>> compaction for V3 tables. I created a PR >>>> <https://github.com/apache/iceberg/pull/13646> for that. Will >>>> backport after it is merged. >>>> 3. Spark: fix data frame join based on different versions of the >>>> same table that may lead to weird results. Anton is working on a fix. It >>>> requires a small behavior change (table state may be stale up to refresh >>>> interval). Hence it is better to include it in the 1.10.0 release where >>>> Spark 4.0 is first supported. >>>> 4. Variant support in core and Spark 4.0. Ryan thinks this is very >>>> close and will prioritize the review. >>>> >>>> Thanks, >>>> steven >>>> >>>> The 1.10.0 milestone can be found here. >>>> https://github.com/apache/iceberg/milestone/54 >>>> >>>> >>>> On Wed, Jul 16, 2025 at 9:15 AM Steven Wu <stevenz...@gmail.com> wrote: >>>> >>>>> Ajantha/Robin, thanks for the note. We can include the PR in the >>>>> 1.10.0 milestone. >>>>> >>>>> >>>>> >>>>> On Wed, Jul 16, 2025 at 3:20 AM Robin Moffatt >>>>> <ro...@confluent.io.invalid> wrote: >>>>> >>>>>> Thanks Ajantha. Just to confirm, from a Confluent point of view, we >>>>>> will not be able to publish the connector on Confluent Hub until this >>>>>> CVE[1] is fixed. >>>>>> Since we would not publish a snapshot build, if the fix doesn't make >>>>>> it into 1.10 then we'd have to wait for 1.11 (or a dot release of 1.10) >>>>>> to >>>>>> be able to include the connector on Confluent Hub. >>>>>> >>>>>> Thanks, Robin. >>>>>> >>>>>> [1] >>>>>> https://github.com/apache/iceberg/issues/10745#issuecomment-3074300861 >>>>>> >>>>>> On Wed, 16 Jul 2025 at 04:03, Ajantha Bhat <ajanthab...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> I have approached Confluent people >>>>>>> <https://github.com/apache/iceberg/issues/10745#issuecomment-3058281281> >>>>>>> to help us publish the OSS Kafka Connect Iceberg sink plugin. >>>>>>> It seems we have a CVE from dependency that blocks us from >>>>>>> publishing the plugin. >>>>>>> >>>>>>> Please include the below PR for 1.10.0 release which fixes that. >>>>>>> https://github.com/apache/iceberg/pull/13561 >>>>>>> >>>>>>> - Ajantha >>>>>>> >>>>>>> On Tue, Jul 15, 2025 at 10:48 AM Steven Wu <stevenz...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> > Engines may model operations as deleting/inserting rows or as >>>>>>>> modifications to rows that preserve row ids. >>>>>>>> >>>>>>>> Manu, I agree this sentence probably lacks some context. The first >>>>>>>> half (as deleting/inserting rows) is probably about the row >>>>>>>> lineage handling with equality deletes, which is described in another >>>>>>>> place. >>>>>>>> >>>>>>>> "Row lineage does not track lineage for rows updated via Equality >>>>>>>> Deletes <https://iceberg.apache.org/spec/#equality-delete-files>, >>>>>>>> because engines using equality deletes avoid reading existing data >>>>>>>> before >>>>>>>> writing changes and can't provide the original row ID for the new rows. >>>>>>>> These updates are always treated as if the existing row was completely >>>>>>>> removed and a unique new row was added." >>>>>>>> >>>>>>>> On Mon, Jul 14, 2025 at 5:49 PM Manu Zhang <owenzhang1...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Thanks Steven, I missed that part but the following sentence is a >>>>>>>>> bit hard to understand (maybe just me) >>>>>>>>> >>>>>>>>> Engines may model operations as deleting/inserting rows or as >>>>>>>>> modifications to rows that preserve row ids. >>>>>>>>> >>>>>>>>> Can you please help to explain? >>>>>>>>> >>>>>>>>> >>>>>>>>> Steven Wu <stevenz...@gmail.com>于2025年7月15日 周二04:41写道: >>>>>>>>> >>>>>>>>>> Manu >>>>>>>>>> >>>>>>>>>> The spec already covers the row lineage carry over (for replace) >>>>>>>>>> https://iceberg.apache.org/spec/#row-lineage >>>>>>>>>> >>>>>>>>>> "When an existing row is moved to a different data file for any >>>>>>>>>> reason, writers should write _row_id and >>>>>>>>>> _last_updated_sequence_number according to the following rules:" >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Steven >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Jul 14, 2025 at 1:38 PM Steven Wu <stevenz...@gmail.com> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> another update on the release. >>>>>>>>>>> >>>>>>>>>>> We have one open PR left for the 1.10.0 milestone >>>>>>>>>>> <https://github.com/apache/iceberg/milestone/54> (with 25 >>>>>>>>>>> closed PRs). Amogh is actively working on the last blocker PR. >>>>>>>>>>> Spark 4.0: Preserve row lineage information on compaction >>>>>>>>>>> <https://github.com/apache/iceberg/pull/13555> >>>>>>>>>>> >>>>>>>>>>> I will publish a release candidate after the above blocker is >>>>>>>>>>> merged and backported. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Steven >>>>>>>>>>> >>>>>>>>>>> On Mon, Jul 7, 2025 at 11:56 PM Manu Zhang < >>>>>>>>>>> owenzhang1...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Amogh, >>>>>>>>>>>> >>>>>>>>>>>> Is it defined in the table spec that "replace" operation should >>>>>>>>>>>> carry over existing lineage info insteading of assigning new IDs? >>>>>>>>>>>> If not, >>>>>>>>>>>> we'd better firstly define it in spec because all engines and >>>>>>>>>>>> implementations need to follow it. >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Jul 8, 2025 at 11:44 AM Amogh Jahagirdar < >>>>>>>>>>>> 2am...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> One other area I think we need to make sure works with row >>>>>>>>>>>>> lineage before release is data file compaction. At the moment, >>>>>>>>>>>>> <https://github.com/apache/iceberg/blob/main/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/actions/SparkBinPackFileRewriteRunner.java#L44> >>>>>>>>>>>>> it >>>>>>>>>>>>> looks like compaction will read the records from the data files >>>>>>>>>>>>> without >>>>>>>>>>>>> projecting the lineage fields. What this means is that on write >>>>>>>>>>>>> of the new >>>>>>>>>>>>> compacted data files we'd be losing the lineage information. >>>>>>>>>>>>> There's no >>>>>>>>>>>>> data change in a compaction but we do need to make sure the >>>>>>>>>>>>> lineage info >>>>>>>>>>>>> from carried over records is materialized in the newly compacted >>>>>>>>>>>>> files so >>>>>>>>>>>>> they don't get new IDs or inherit the new file sequence number. >>>>>>>>>>>>> I'm working >>>>>>>>>>>>> on addressing this as well, but I'd call this out as a blocker as >>>>>>>>>>>>> well. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>> >>>>>> -- >>>>>> *Robin Moffatt* >>>>>> *Sr. Principal Advisor, Streaming Data Technologies* >>>>>> >>>>>