【问题标题】:Internal error (500) when trying to copy big object from bucket to another bucket尝试将大对象从存储桶复制到另一个存储桶时出现内部错误 (500)
【发布时间】:2021-04-02 08:57:26
【问题描述】:

我正在使用 CloudBerry Explorer 将文件从一个存储桶复制到另一个存储桶。两个存储桶都在 Google Cloud Platform 上的同一个项目下。 我可以轻松地复制小文件,但是当尝试将 1GB 以上的文件从同一路径复制到另一个时,我收到错误:

"远程服务器返回错误:(500) Internal Server Error.

权限正确,因为可以移动小文件。

可能是什么问题?

CloudBerry 日志:

2020-12-09 14:23:52,298 [Google] [9] INFO  - InternalGetObjectExists start, bucket: DEDUCTED-BUCKET, key DEDUCTED-FILENAME.mp4
2020-12-09 14:23:52,781 [Google] [9] INFO  - InternalGetObjectExists ready, bucket: DEDUCTED-BUCKET, key DEDUCTED-FILENAME.mp4, status: 404
2020-12-09 14:23:52,782 [Google] [9] INFO  - InternalGetObjectExists start, bucket: DEDUCTED-BUCKET, key DEDUCTED-PATH/DEDUCTED-FILENAME.mp4
2020-12-09 14:23:52,992 [Google] [9] INFO  - InternalGetObjectExists ready, bucket: DEDUCTED-BUCKET, key DEDUCTED-PATH/DEDUCTED-FILENAME.mp4, status: 200
2020-12-09 14:23:52,992 [Google] [9] INFO  - InternalCopyObjectNonChunked start, src bucket: DEDUCTED-BUCKET, src key: DEDUCTED-PATH/DEDUCTED-FILENAME.mp4, dst bucket: DEDUCTED-BUCKET, dst key: DEDUCTED-FILENAME.mp4
2020-12-09 14:25:17,510 [Google] [9] INFO  - InternalCopyObjectNonChunked ready, src bucket: DEDUCTED-BUCKET, src key: DEDUCTED-PATH/DEDUCTED-FILENAME.mp4, dst bucket: DEDUCTED-BUCKET, dst key: DEDUCTED-FILENAME.mp4, status: 500
2020-12-09 14:25:17,510 [Google] [9] ERROR - Http response status: 500: Internal Server Error
2020-12-09 14:25:17,511 [Google] [9] ERROR - <?xml version='1.0' encoding='UTF-8'?><Error><Code>InternalError</Code><Message>We encountered an internal error. Please try again.</Message><Details>AFfi+BFP7TevpPSJUbrZ2g1VXu3cm/uZHLEPxDMKeQro1D9stEU/xcIHUePCm9meA3u2N+gGUX41/UHUd1WIDNA+tOjFrbNRZsC2T8twlFOBURzaHcO5GfU=</Details></Error>
2020-12-09 14:25:17,511 [Google] [9] ERROR - InternalCopyObjectNonChunked failed. src bucket: DEDUCTED-BUCKET, src key: DEDUCTED-PATH/DEDUCTED-FILENAME.mp4, dst bucket: DEDUCTED-BUCKET, dst key: DEDUCTED-FILENAME.mp4
CloudBerryLab.Base.Exceptions.Status500Exception
The remote server returned an error: (500) Internal Server Error.

System.Net.WebException
The remote server returned an error: (500) Internal Server Error.
   at System.Net.HttpWebRequest.GetResponse()
   at gZ.A(HB , Action1` , HttpWebRequest , HS )

2020-12-09 14:25:17,513 [CL] [9] ERROR - Command::Run failed:
Copy; Source:DEDUCTED-PATH/DEDUCTED-FILENAME.mp4; Destination:/DEDUCTED-BUCKET/
CloudBerryLab.Base.Exceptions.Status500Exception: The remote server returned an error: (500) Internal Server Error. ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
   at System.Net.HttpWebRequest.GetResponse()
   at gZ.A(HB , Action1` , HttpWebRequest , HS )
   --- End of inner exception stack trace ---
   at Tm.a(String , String , String , String , String , MetadataDirective , Gw , Jt )
   at Tm.A(String , String , String , String , String , String , Gw )
   at sU.A(Tm , sU , Gw , lD )
   at sU.BV(lL , String , lD )
   at lF.RunInternal()
   at SE.RunInternal()
   at lE.fa()

【问题讨论】:

  • 哪个组件引发错误?云存储还是 CloudBerry?我不知道 CloudBerry,但我认为它在这一边。
  • 我使用 Cloudberry Explorer。我经常复制数 GB 的文件(VMDK 和 VHD)。我没有问题。编辑您的问题,显示 API 请求和响应以及相关的 Cloudberry 日志条目。
  • 嗨,塔尔,欢迎来到 SO。约翰是对的,我以前使用过 Cloudberry,我从来没有遇到过你描述的错误。为了对您有所帮助,您最好分享 Cloudberry 日志条目。
  • 大家好,感谢您的回复。我将日志添加到问题中。
  • 我不知道 Cloudberry,但是这个错误很奇怪“InternalCopyObjectNonChunked”。您是否有一些参数要更改以不同地复制文件?

标签: google-cloud-platform google-cloud-storage size internals cloudberry


【解决方案1】:

我最近遇到了同样的问题。最初,使用 tGCSCopy 组件失败并出现 500 错误的 Talend 作业报告了该问题。 Cloudberry 也有手动测试的经验。适用于小文件,但较大的文件是问题发生的地方。原来问题与桶到桶的副本有关,其中目标桶使用客户管理的加密密钥进行加密。标准的 Google 托管加密没有相同的问题,并且使用 Google 提供的实用程序(如 gsutil)不会表现出相同的行为。

我还使用使用相同密钥加密的源对象对此进行了测试,但没有任何区别。 Talend 使用 jets3t,一个符合 s3 标准的库来与 Cloud Storage 交互,我假设 Cloudberry 正在做类似的事情,但不适合这种场景。

目前没有解决方案,Google 可能会说不要使用第三方产品。

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 2021-07-28
    • 1970-01-01
    • 2013-11-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    相关资源
    最近更新 更多