I think we should continue to use `added-rows` as well. We can update the spec to explain that it should be the number of rows that will be assigned IDs. It would be nice to have a slightly better name, but I don't think it is worth the breaking change.
On Wed, Sep 10, 2025 at 1:22 PM Steven Wu <stevenz...@gmail.com> wrote: > Thanks, Russel! > > Since we also have 1.8 and 1.9 using the `added-rows` field, we probably > just want to bring back the same field `added-rows` as it is. In the spec, > we can clarify that it is ONLY used for incrementing the `next-row-id` in > the table metadata. It shouldn't be used as the counter for the actual > number of added rows, as the number can include added rows and some > existing rows. > > Maybe in V4, we can consider changing it to `assigned-rows` to reflect its > true purpose and the spec description. > > In summary, we can bring back `added-rows` as a snapshot field in the > spec. There won't be any behavior change in 1.10 compared to 1.8 or 1.9. We > can proceed with the 1.10.0 release. Any concerns? > > On Wed, Sep 10, 2025 at 12:46 PM Russell Spitzer < > russell.spit...@gmail.com> wrote: > >> As long as we don't change the name we are good for 1.10, if we want to >> change the name we will need to patch that first imho. I think we just need >> to doc that "added-rows" is just directly related to row-lineage in the >> spec and note that it needs to be at minimum the number of added-rows in >> the snapshot but can be larger with our default recommendation being to >> just add all of the added and existing rows in all added manifest files. >> >> On Wed, Sep 10, 2025 at 12:37 PM Steven Wu <stevenz...@gmail.com> wrote: >> >>> Adding the information back seems to be the right thing to do here. We >>> can start a separate thread on how to move forward properly, as it is >>> probably more complicated than just adding the field back in the spec. >>> E.g., we may want to use a different field name like `assigned-rows` to >>> reflect the spec language, as it includes both added rows and existing rows >>> in the *new/added* manifest files in the snapshot. Snapshot JSON parser >>> can read both old `added-rows` and new `assigned-rows` fields for backward >>> compatibility. >>> >>> With the direction of adding the field back in the spec, I feel this >>> issue shouldn't be a blocker for 1.10.0 release. Any concerns? >>> >>> On Wed, Sep 10, 2025 at 10:16 AM Christian Thiel < >>> christian.t.b...@gmail.com> wrote: >>> >>>> Quick summary of the discussion in the Catalog Sync today: >>>> We had a broad consensus that removing the "added-rows" field was a >>>> mistake. Especially for the REST API, it is required for correct behaviour, >>>> and it would be unfortunate to deviate the REST Object from the spec object >>>> too much. As a result, it makes sense to revert the change in >>>> https://github.com/apache/iceberg/pull/12781 and add "added-rows" back >>>> as a field to the Snapshot. >>>> >>>> There has been discussion around whether this field should be optional >>>> or not. If there are currently no V3 Tables out there that don't have this >>>> field, it would probably be best to add it as required. >>>> If anyone is aware of a tool creating v3 tables already without this >>>> field, please let us know here. Iceberg Java does write the "added-rows" >>>> field to this date, even though its temporarily missing from the spec ;) >>>> Tables created with the java sdk, are thus compatible with the planned >>>> change. >>>> >>>> On Wed, 10 Sept 2025 at 16:26, Russell Spitzer < >>>> russell.spit...@gmail.com> wrote: >>>> >>>>> I think ... we would just add added-rows back into the snapshot to fix >>>>> this then? Otherwise we would have to require catalogs to compute >>>>> added rows by reading the manifestList. >>>>> >>>>> I think we forgot there could be a snapshot that would be added to >>>>> the base metadata via a REST serialization >>>>> and not directly programmatically from other parts of the code base. >>>>> The change >>>>> was initially made because the "calculation" for this property was >>>>> being done in the >>>>> snapshot producer anyway so we no longer needed the value to be passed >>>>> through some other means. The code path in SnapshotParser was >>>>> effectively being bypassed. >>>>> >>>>> On Wed, Sep 10, 2025 at 6:23 AM Christian Thiel < >>>>> christian.t.b...@gmail.com> wrote: >>>>> >>>>>> -1 (non-binding) >>>>>> >>>>>> Dear all, I think I have found a blocker for this RC. >>>>>> >>>>>> In https://github.com/apache/iceberg/pull/12781 we removed >>>>>> the "added-rows" fields from snapshots. However in Java, we have not made >>>>>> this change. >>>>>> The field is still serialized, which is also tested in ` >>>>>> testJsonConversionWithRowLineage`. This is the first thing we should >>>>>> fix. >>>>>> >>>>>> Secondly, removing the field from the serialization would break the >>>>>> REST Spec for v3 tables. The Catalog needs to know how many rows have >>>>>> been >>>>>> added to update the `next-row-id` of the TableMetadata without reading >>>>>> the >>>>>> Manifest Lists. We have similar information available in the Snapshot >>>>>> summary, but I don't think using snapshot summary information to update >>>>>> next-row-id has been discussed before. >>>>>> >>>>>> I hope we can pick up the second point in the catalog sync today. >>>>>> >>>>>> On Tue, 9 Sept 2025 at 18:31, Steve <hongyue.apa...@gmail.com> wrote: >>>>>> >>>>>>> +1 (non-binding) >>>>>>> Verified signatures and checksums, RAT checks and build locally with >>>>>>> JDK17 >>>>>>> >>>>>>> >>>>>>> On Mon, Sep 8, 2025 at 2:33 PM Drew <img...@gmail.com> wrote: >>>>>>> > >>>>>>> > +1 (non binding) >>>>>>> > >>>>>>> > verified signature and checksums >>>>>>> > verified RAT license check >>>>>>> > verified build/tests passing >>>>>>> > ran some manual tests with GlueCatalog >>>>>>> > >>>>>>> > - Drew >>>>>>> > >>>>>>> > >>>>>>> > On Mon, Sep 8, 2025 at 7:54 AM Jacky Lee <qcsd2...@gmail.com> >>>>>>> wrote: >>>>>>> >> >>>>>>> >> +1 (non-binding) >>>>>>> >> >>>>>>> >> Built and tested Spark 4.0.1 and Flink 2.0 on JDK17, including >>>>>>> unit >>>>>>> >> tests, basic insert/read operations, and metadata validation. >>>>>>> >> >>>>>>> >> Thanks, >>>>>>> >> Jacky Lee >>>>>>> >> >>>>>>> >> Renjie Liu <liurenjie2...@gmail.com> 于2025年9月8日周一 16:23写道: >>>>>>> >> > >>>>>>> >> > +1 (binding) >>>>>>> >> > >>>>>>> >> > Ran following check and tests: >>>>>>> >> > 1. Verified checksum >>>>>>> >> > 2. Verified signature >>>>>>> >> > 3. Ran dev/check-license >>>>>>> >> > 4. Ran `gradlew build` >>>>>>> >> > >>>>>>> >> > All passed. >>>>>>> >> > >>>>>>> >> > On Sun, Sep 7, 2025 at 10:36 PM Steven Wu <stevenz...@gmail.com> >>>>>>> wrote: >>>>>>> >> >> >>>>>>> >> >> +1 (binding) >>>>>>> >> >> >>>>>>> >> >> Verified signature, checksum, license >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> Ran build successfully (except for a couple of Spark extension >>>>>>> tests due to my env) >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> Ran Spark 4.0 SQL with V3 format and Java 21 >>>>>>> >> >> >>>>>>> >> >> - Insert >>>>>>> >> >> - Update carries over row id and sets snapshot seq num >>>>>>> correctly >>>>>>> >> >> - Select with _row_id and _last_updated_sequence_number >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> Run Flink 2.0 SQL testing with V2 format and Java 21 >>>>>>> >> >> - Insert >>>>>>> >> >> - Streaming read >>>>>>> >> >> >>>>>>> >> >> Thanks, >>>>>>> >> >> Steven >>>>>>> >> >> >>>>>>> >> >> >>>>>>> >> >> On Sat, Sep 6, 2025 at 10:19 PM Yuya Ebihara < >>>>>>> yuya.ebih...@starburstdata.com> wrote: >>>>>>> >> >>> >>>>>>> >> >>> +1 (non-binding) >>>>>>> >> >>> >>>>>>> >> >>> Confirmed that Trino CI is green in Trino PR #25795. >>>>>>> >> >>> It runs tests against several catalogs, including HMS, Glue, >>>>>>> JDBC (PostgreSQL), REST (Polaris, Unity, S3 Tables, Tabular), Nessie, >>>>>>> and >>>>>>> Snowflake. >>>>>>> >> >>> >>>>>>> >> >>> Yuya >>>>>>> >> >>> >>>>>>> >> >>> On Sun, Sep 7, 2025 at 1:38 PM Aihua Xu <aihu...@gmail.com> >>>>>>> wrote: >>>>>>> >> >>>> >>>>>>> >> >>>> I have verified the signature and checksum, completed the >>>>>>> build and unit tests, and ran basic Spark table creation and queries. >>>>>>> >> >>>> >>>>>>> >> >>>> I also executed the tests against our Snowflake internal >>>>>>> test suite. One test failure was observed, related to snapshot expiry, >>>>>>> caused by Iceberg PR #13614 — “Fix incorrect selection of incremental >>>>>>> cleanup in expire snapshots.” I believe our test should be updated to >>>>>>> reflect the behavior introduced by this fix. >>>>>>> >> >>>> >>>>>>> >> >>>> +1 (non-binding). >>>>>>> >> >>>> >>>>>>> >> >>>> >>>>>>> >> >>>> >>>>>>> >> >>>> On Fri, Sep 5, 2025 at 11:50 AM Steven Wu < >>>>>>> stevenz...@gmail.com> wrote: >>>>>>> >> >>>>> >>>>>>> >> >>>>> Hi Everyone, >>>>>>> >> >>>>> >>>>>>> >> >>>>> I propose that we release the following RC as the official >>>>>>> Apache Iceberg 1.10.0 release. >>>>>>> >> >>>>> >>>>>>> >> >>>>> The commit ID is 2114bf631e49af532d66e2ce148ee49dd1dd1f1f >>>>>>> >> >>>>> * This corresponds to the tag: apache-iceberg-1.10.0-rc5 >>>>>>> >> >>>>> * >>>>>>> https://github.com/apache/iceberg/commits/apache-iceberg-1.10.0-rc5 >>>>>>> >> >>>>> * >>>>>>> https://github.com/apache/iceberg/tree/2114bf631e49af532d66e2ce148ee49dd1dd1f1f >>>>>>> >> >>>>> >>>>>>> >> >>>>> The release tarball, signature, and checksums are here: >>>>>>> >> >>>>> * >>>>>>> https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-1.10.0-rc5 >>>>>>> >> >>>>> >>>>>>> >> >>>>> You can find the KEYS file here: >>>>>>> >> >>>>> * https://downloads.apache.org/iceberg/KEYS >>>>>>> >> >>>>> >>>>>>> >> >>>>> Convenience binary artifacts are staged on Nexus. The Maven >>>>>>> repository URL is: >>>>>>> >> >>>>> * >>>>>>> https://repository.apache.org/content/repositories/orgapacheiceberg-1269/ >>>>>>> >> >>>>> >>>>>>> >> >>>>> Please download, verify, and test. >>>>>>> >> >>>>> >>>>>>> >> >>>>> Instructions for verifying a release can be found here: >>>>>>> >> >>>>> * >>>>>>> https://iceberg.apache.org/how-to-release/#how-to-verify-a-release >>>>>>> >> >>>>> >>>>>>> >> >>>>> Please vote in the next 72 hours. >>>>>>> >> >>>>> >>>>>>> >> >>>>> [ ] +1 Release this as Apache Iceberg 1.10.0 >>>>>>> >> >>>>> [ ] +0 >>>>>>> >> >>>>> [ ] -1 Do not release this because... >>>>>>> >> >>>>> >>>>>>> >> >>>>> Only PMC members have binding votes, but other community >>>>>>> members are encouraged to cast >>>>>>> >> >>>>> non-binding votes. This vote will pass if there are 3 >>>>>>> binding +1 votes and more binding >>>>>>> >> >>>>> +1 votes than -1 votes. >>>>>>> >>>>>>