fsspec / fsspec/s3fs

Exception AccessControlListNotSupported thrown with version 2023.9.0

Open
#779 12 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1k
Forks
305
Avg merge
22h 37m
Merged PRs (30d)
4

Description

Reproduce

To reproduce in a Databricks environment 12.2 LTS:

import s3fs
s3 = s3fs.S3FileSystem(anon=False)
with s3.open(output_path, 'wb') as f:
    f.write(b'abc')
# --> OSError: [Errno 5] An error occurred (AccessControlListNotSupported) when calling the PutObject operation: The bucket does not allow ACLs

It works with 2023.6.0 but not with 2023.9.0.

Note:

  • The bucket is configured with "Object Ownership: Bucket owner enforced".
  • There is no problem when using a pure Python environment (with full control over all library versions).

Cause

It might be due to the recently released #764 (default ACL has value "private").
Any guidance how to deal with this problem (apart from downgrading)?

Installed libraries (selection)

pip freeze
aiobotocore==2.5.4
awscli==1.29.40
boto3==1.16.7
botocore==1.31.17
fsspec==2023.9.0
s3fs==2023.9.0
s3transfer==0.6.2
...

Note: Pip reports some incompatibilities among these library versions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with issue #764 and the S3FileSystem/open path shown in the reproduction, then compare behavior between versions 2023.6.0 and 2023.9.0 in the stated Databricks environment. Done means writing to a bucket configured with Object Ownership: Bucket owner enforced no longer raises AccessControlListNotSupported, without requiring a downgrade.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.