Skip to content

Conversation

@ccancellieri
Copy link

fixing #2122

Rationale for this change

Are these changes tested?

Yes tested locally

Are there any user-facing changes?

Nope, just use them

@Fokko
Copy link
Contributor

Fokko commented Jun 24, 2025

Thanks @ccancellieri for raising this PR. This is something that ideally should be fixed on the BigLake side, but there is no harm to be a bit more relaxed about deserializing these messages. Thoughts @kevinjqliu ?

@kevinjqliu
Copy link
Contributor

This is something that ideally should be fixed on the BigLake side, but there is no harm to be a bit more relaxed about deserializing these messages.

+1 BigLake REST catalog API should be fixed in order to be compliant with the Iceberg REST Catalog spec, which requires both defaults and overrides fields in the /v1/config response.
https://github.com/apache/iceberg/blob/b7154119f97870608429d5a9950aaaad6d2a0276/open-api/rest-catalog-open-api.yaml#L1937-L1942

That said, we've seen this issue with Nessie IRC as well (see #1524). As an IRC client, pyiceberg can be more relaxed about these fields.

kevinjqliu and others added 2 commits June 25, 2025 01:00
Co-authored-by: Fokko Driesprong <fokko@apache.org>
Co-authored-by: Fokko Driesprong <fokko@apache.org>

class ListNamespaceResponse(IcebergBaseModel):
namespaces: List[Identifier] = Field()
namespaces: Optional[List[Identifier]] = Field(default_factory=list)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this ones odd, i think we should revert this change. The listNamespace response should return an empty namespaces list

https://github.com/apache/iceberg/blob/b7154119f97870608429d5a9950aaaad6d2a0276/open-api/rest-catalog-open-api.yaml#L3967-L3976

@kevinjqliu
Copy link
Contributor

cc @rambleraptor @talatuyarer, what do you think?

@kevinjqliu kevinjqliu changed the title Google BigLake Metastore Catalog issue Relax REST client /v1/config response constraints Jun 25, 2025
@Fokko
Copy link
Contributor

Fokko commented Jun 25, 2025

That said, we've seen this issue with Nessie IRC as well (see #1524). As an IRC client, pyiceberg can be more relaxed about these fields.

This PR can be used as an interim solution, but other clients will probably error out , so eventually this has to be fixed in BigLake :)

@kevinjqliu kevinjqliu merged commit 4cb9041 into apache:main Jun 26, 2025
10 checks passed
@kevinjqliu
Copy link
Contributor

Thanks @ccancellieri for the PR and @Fokko for the review :)

amitgilad3 pushed a commit to amitgilad3/iceberg-python that referenced this pull request Jul 7, 2025
fixing apache#2122

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

# Are these changes tested?
Yes tested locally

# Are there any user-facing changes?

Nope, just use them

---------

Co-authored-by: Kevin Liu <kevinjqliu@users.noreply.github.com>
Co-authored-by: Fokko Driesprong <fokko@apache.org>
gabeiglio pushed a commit to Netflix/iceberg-python that referenced this pull request Aug 13, 2025
fixing apache#2122

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

# Are these changes tested?
Yes tested locally

# Are there any user-facing changes?

Nope, just use them

---------

Co-authored-by: Kevin Liu <kevinjqliu@users.noreply.github.com>
Co-authored-by: Fokko Driesprong <fokko@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants