Error when s3 cp 4Gb file #413
Replies: 4 comments 1 reply
-
I think I can see what's happening when I use --debug at the client end.
When versitygw server is reassembling the multipart files the client gets a read timeout.
When I raise the timeout to 10 minutes the cp doesn't raise error
Would it be possible for the server to send some keep-alive signal back to the client while reassembling the file? BTW minIO with the same aws s3 cp command does not timeout. |
Beta Was this translation helpful? Give feedback.
-
@limegreendender2 This is the error for the first issue above:
means that the gateway did not find the files that it expected for this mutlipart upload. The in progress multipart uploads are stored in .sgwmp/multipart. The first part of that is the sha256 of the object name:
The next part: 93eb99c0-bda5-4c9c-9eaa-59837b7169d9 is a uuid for a unique uploadid for this upload. I'll need to check, but it looks like we might be returning the wrong error in this case. For this one it looks like part 54 was not successfully uploaded here. I'm guessing this is related to your last update where commands are timing out. We can look into adding keepalives here. I'll open an issue for this. |
Beta Was this translation helpful? Give feedback.
-
Maybe another thing to note here is that if the /data backend could be a filesystem that supports copy_file_range(), then the reassembly should go significantly faster. If not supported, then the gateway falls back to just copying all the data between the part files and the final object file. |
Beta Was this translation helpful? Give feedback.
-
tracking this in issue #423 |
Beta Was this translation helpful? Give feedback.
-
I'm looking at versitygw v0.14 to replace a minIO solution we are using in kubernetes.
When copying a 4GB tarball to posix host file system volume in a Kubernetes pod using metallb as the ingress/load-balancer I get the following error:
The file is transferred successfully and a .sgwtmp folder is left behind (occasionally with all the multipart files in it)
k8s yaml
The --debug log starts
And ends with
Is there a configuration or option that I can use to prevent this error ?
Smaller files copy without issue.
Thanks
Alan
Beta Was this translation helpful? Give feedback.
All reactions