0 バイトのソースオブジェクトを含む PUT オブジェクトのコピーがハングすることがある
環境
StorageGRID 11.4
問題
CopyObject
S3 API が 0 バイトのソースオブジェクトで失敗する。CopyObject
エラーポップアップなしでカールによるフリーズ:
$
...
curl -iksS -X PUT <url>/<destination-bucket>/<zero-byte-object-copy> -H content-length:0 -H x-amz-content-sha256:<content-sha256> -H x-amz-copy-source:/<source-bucket>/<zero-byte-object> -H x-amz-date:<YYYYmmddTHHMMSSZ> -H Authorization:AWS4-HMAC-SHA256 Credential=<credential>,SignedHeaders=<headers>,Signature=<signature>
^C << command hangs and is aborted manually
$
CopyObject
AWS コマンドラインでの実行が次のエラーで失敗Read timeout on endpoint URL
します。
$ aws s3api --debug --endpoint-url <url> --no-verify-ssl copy-object --bucket <destination-bucket> --key <zero-byte-object-copy> --copy-source /<source-bucket>/<zero-byte-object>
...
Read timeout on endpoint URL:
"<url>/<destination-bucket>/<zero-byte-object-copy>"
$
CopyObject
0 バイト以外のソースオブジェクトを使用してが成功する。s3 cp
0 バイトのファイルを別の名前にコピーするコマンドを実行するとRead timed out
、エラーが発生します。
DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host='hostname', port=xxx): Read timed out. (read timeout=xx)