Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LockClient requiered error for S3 backend in 0.15.1 python #2057

Closed
djouallah opened this issue Jan 8, 2024 · 4 comments
Closed

LockClient requiered error for S3 backend in 0.15.1 python #2057

djouallah opened this issue Jan 8, 2024 · 4 comments
Labels
binding/python Issues for the Python package binding/rust Issues for the Rust crate bug Something isn't working

Comments

@djouallah
Copy link

Environment

0.15.1

Binding:

Environment:
Python


Bug

it was working fine, but got this error when upgrading to 0.15.1

_internal.DeltaProtocolError: Atomic rename requires a LockClient for S3 backends. Either configure the LockClient, or set AWS_S3_ALLOW_UNSAFE_RENAME=true to opt out of support for concurrent writers.

currently I downgraded to 0.15

fwiw, I use this option with R2 " "copy_if_not_exists": "header: cf-copy-destination-if-none-match: *"

@djouallah djouallah added the bug Something isn't working label Jan 8, 2024
@ion-elgreco ion-elgreco changed the title R2 regression with version 0.15.1 LockClient requiered error for S3 backend in 0.15.1 python Jan 8, 2024
@ion-elgreco ion-elgreco added binding/python Issues for the Python package binding/rust Issues for the Rust crate labels Jan 8, 2024
@dispanser
Copy link
Contributor

@djouallah , have you tried setting AWS_S3_ALLOW_UNSAFE_RENAME=true as the error message suggests? This should still work, IIUC.

@djouallah
Copy link
Author

but why, it used to works fine with Cloudflare R2 using "copy_if_not_exists": "header: cf-copy-destination-if-none-match: *"

@djouallah
Copy link
Author

@roeap just to be very clear, does Cloudflare R2 support concurrent write without the use of an external lock tool ?

@ion-elgreco
Copy link
Collaborator

@djouallah no, also R2 doesn't support concurrent writes without locks since it uses S3 api.

I believe the copy-if-not-exists has been added back here: https://github.com/delta-io/delta-rs/pull/2083/files

A fix release will be pushed soon, I hope today

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/python Issues for the Python package binding/rust Issues for the Rust crate bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants