Thanks for testing, Sung! I agree, let's include this fix and cut an RC2.

> Noted a couple small things that I don't think are blockers:
Thanks, Dan. I've created Github Issues to track both of the issues you
mentioned.
https://github.com/apache/iceberg-python/issues/1317
https://github.com/apache/iceberg-python/issues/1318

Best,
Kevin Liu

On Wed, Nov 13, 2024 at 7:37 PM Sung Yun <sun...@apache.org> wrote:

> Hi folks,
>
> While testing out the Rest Catalog Adapter docker image that Ajantha has
> been working working on, I ran into an issue when parsing the TableResponse
> of a staged table. While the metadata-location is an optional field
> according to the Iceberg Rest Catalog Spec, the field is being handled as a
> required field in PyIceberg, due to peculiarities in how the pydantic model
> needs to be defined in order to allow for the field to truly be optional in
> the provided response.
>
> The implication of not fixing this, would be that PyIceberg 0.8.0 would
> not be able to support staged table transactions against REST Catalog
> Servers that omits the `metadata-location` field in the TableResponse.
>
> @ Kevin - what are your thoughts on cutting out a second RC that includes
> this fix?
>
> Here's the PR to resolve this issue, that explains the issue in more
> detail: https://github.com/apache/iceberg-python/pull/1321
>
> On 2024/11/13 13:11:46 Jean-Baptiste Onofré wrote:
> > +1 (non binding)
> >
> > I checked:
> > - Signature and hash are OK
> > - ASF header present
> > - LICENSE and NOTICE look good
> >
> > Thanks !
> > Regards
> > JB
> >
> > On Thu, Nov 7, 2024 at 10:57 PM Kevin Liu <kevin.jq....@gmail.com>
> wrote:
> > >
> > > Hi Everyone,
> > >
> > > I propose that we release the following RC as the official PyIceberg
> 0.8.0 release.
> > >
> > > The commit ID is 0eaadb9
> > >
> > > This corresponds to the tag: pyiceberg-0.8.0rc1
> (ac00f5354c2c12ed8f465295a3a626e0db9c1689)
> > >
> https://github.com/apache/iceberg-python/releases/tag/pyiceberg-0.8.0rc1
> > >
> https://github.com/apache/iceberg-python/tree/0eaadb9e61c7c9373eddaafd723c3be9fd66ab42
> > >
> > > The release tarball, signature, and checksums are here:
> > >
> > > https://dist.apache.org/repos/dist/dev/iceberg/pyiceberg-0.8.0rc1/
> > >
> > > You can find the KEYS file here:
> > >
> > > https://dist.apache.org/repos/dist/dev/iceberg/KEYS
> > >
> > > Convenience binary artifacts are staged on pypi:
> > >
> > > https://pypi.org/project/pyiceberg/0.8.0rc1/
> > >
> > > And can be installed using: pip3 install pyiceberg==0.8.0rc1
> > >
> > > Instructions for verifying a release can be found here:
> > >
> > > https://py.iceberg.apache.org/verify-release/
> > >
> > > Please download, verify, and test.
> > >
> > > High-level Summary
> > >
> > > 176 new commits
> > > 18 new first-time contributors
> > > Deprecation Notice
> > >
> > > Deprecated configuration properties: profile_name, region_name,
> aws_access_key_id, aws_secret_access_key, and aws_session_token
> > > Deprecated functions: to_requested_schema in pyiceberg/io/pyarrow.py
> and add_snapshot and set_ref_snapshot in pyiceberg/table/__init__.py
> > >
> > > Find a detailed list of PRs at
> https://github.com/apache/iceberg-python/releases/tag/pyiceberg-0.8.0rc1
> > > Highlights
> > >
> > > Documentation improvements
> > >
> > > Improve docstrings, configuration, etc
> > > Improve the release process; updated “How to Release” and “Verify
> Release” documentation
> > >
> > > General
> > >
> > > Add support for Python 3.12; drop support for Python 3.8; exclude
> Python 3.9.7
> > > Bump PyArrow to 18.0.0, remove numpy as a hard dependency
> > > Bump up Iceberg version to 1.6.0 in integration tests
> > >
> > > Features
> > >
> > > Add metadata tables for data_files and delete_files
> > > Add list_views and drop_view to Rest catalog
> > > Add partition MonthTransform
> > > Support manifest file caching
> > > Support Hive Metastore High Availability mode
> > > Add properties to allow configuring small/large pyarrow type on read
> > > Deprecate redundant catalog identifiers in TableIdentifier and
> row_filter expressions
> > > Update metadata-log for non-rest catalogs
> > > Add support for boolean expressions and quoted columns in row_filter
> expressions
> > > Support setting ARN Role and Session name in S3 and Glue
> > > Support bi-directional union of types (int <> long, float <> double)
> > > Support passing table-token to commit endpoint
> > > Allow setting write.parquet.row-group-limit and
> write.parquet.page-row-limit
> > > Deprecate rest.authorization-url in favor of oauth2-server-uri
> > > Support s3.signer.endpoint
> > > Add support to configure access delegation header,
> X-Iceberg-Access-Delegation
> > > Remove initial_change usage in TableUpdates
> > > Prevent adding duplicate files in the add_files API
> > > Support fields with . in name
> > >
> > > Bug Fix
> > >
> > > Abort the whole table transaction if any updates in the transaction
> have failed
> > > Use appropriate partition spec for delete
> > > Use self.table_metadata when in transaction
> > > Accept empty arrays in struct field lookup
> > > List namespace response in rest catalog with fully qualified namespace
> > > list_tables method in glue catalog now only returns tables, instead of
> views+tables
> > > Glue and Hive catalog return only Iceberg tables, instead of
> hive+iceberg tables
> > > Invert case_sensitive logic in StructType
> > > Fix table_exists behavior in the REST catalog
> > > Fix bug where reading with to_arrow_batch_reader return more than the
> limit
> > > PyArrow: Pass in null-mask for StructField
> > > Fix overwrite when filtering all the data
> > > Use the correct spec when rewriting existing manifests
> > > Use historical partition field name
> > > Fix Position Deletes + row_filter yields less data when the DataFile
> is large
> > > Allow for missing operation in Snapshot metadata
> > > Fix tracing existing entries when there are deletes
> > > Handle Empty RecordBatch within _task_to_record_batches
> > >
> > >
> > > Please vote in the next 72 hours.
> > > [ ] +1 Release this as PyIceberg 0.8.0
> > > [ ] +0
> > >
> > > [ ] -1 Do not release this because...
> > >
> > >
> > >
> > > Best,
> > >
> > > Kevin Liu
> >
>

Reply via email to