When we copy object to a bucket (that is backed with NSFS) ending with /. (ex: s3 cp $FILE s3://$BUCKET/. ), the behavior from backend should be clear. In FS terms dot and dotdot transalates into present & parent directory and FS worker should see that the copy operation is to present directory or should throw clear error from endpoint that such filepaths are not allowed as per S3 behaviour.
Right now we are getting internal error from the front end
1. aws --endpoint-url https://192.168.49.2:31560 s3 cp nsfs-local-pvc.yaml s3://copy-bucket/. --no-verify-ssl
upload failed: ./nsfs-local-pvc.yaml to s3://copy-bucket/. An error occurred (InternalError) when calling the PutObject operation (reached max retries: 2): We encountered an internal error. Please try again.
Environment info
Actual behavior
When we copy object to a bucket (that is backed with NSFS) ending with
/.
(ex: s3 cp $FILE s3://$BUCKET/. ), the behavior from backend should be clear. In FS termsdot
anddotdot
transalates intopresent & parent directory
and FS worker should see that the copy operation is topresent directory
or should throw clear error from endpoint that such filepaths are not allowed as per S3 behaviour.Right now we are getting internal error from the front end
and endpoint shows
2022-12-13 08:31:12.119877 [PID-14/TID-14] [L1] FS::FSWorker::OnError: Rename _old_path=/nsfs/noofs/copy-bucket/.noobaa-nsfs_63981fb56031770029c35b2e/uploads/76cfe862-c182-4d80-ab4c-4ee8dd79a8ea _new_path=/nsfs/noofs/copy-bucket error.Message()=Directory not empty
Expected behavior
s3 cp to
s3:#BUCKET/.
behavior should be clear.Steps to reproduce
# aws --endpoint-url https://192.168.49.2:31560 s3 cp $FILE s3://$BUCKET/. --no-verify-ssl
More information - Screenshots / Logs / Other output