Skip to content

There is a bug with the new version of boto used by s3fs that prevents writes to non-AWS S3 buckets #1546

@ryanovas

Description

@ryanovas

Apache Iceberg version

0.8.1 (latest release)

Please describe the bug 🐞

Here is a link to the relevant boto issue: boto/boto3#4398

Attempting to use table.append or table.overwrite when using the 1.36.x version installed by default with s3fs causes a very confusing error botocore.exceptions.ClientError: An error occurred (MissingContentLength) when calling the PutObject operation: None

The workaround is to downgrade back to botocore 1.35.99 manually.

I'm unsure if there's work on the pyiceberg side to resolve this but I am posting this issue for others like me googling this issue and struggling to find answers.

I might also suggest pyiceberg consider a library that doesn't rely on AWS controlled boto and uses something more like s2cmd that is more S3-agnostic for those of us using things like Digital Ocean, minio, backblaze, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions