Google api Google Drive Upload间歇性返回50倍服务器错误

Google api Google Drive Upload间歇性返回50倍服务器错误,google-api,google-drive-api,google-api-java-client,Google Api,Google Drive Api,Google Api Java Client,我正在使用JavaGoogleDrive API将一些文件上传到各种GoogleDrive文件夹中。我正在使用其凭据的用户可以访问所有文件夹 我正在从运行CentOS的两个不同服务器上传大约100个PDF和100个CSV文件。这些通常是更新,尽管我偶尔会插入文件。这些文件的大小在35k到700字节之间,所以不算大 大约一周前,我开始上传CSV文件(但不是PDF文件)时出现异常。例外情况如下所示: com.google.api.client.googleapis.json.GoogleJsonRe

我正在使用JavaGoogleDrive API将一些文件上传到各种GoogleDrive文件夹中。我正在使用其凭据的用户可以访问所有文件夹

我正在从运行CentOS的两个不同服务器上传大约100个PDF和100个CSV文件。这些通常是更新,尽管我偶尔会插入文件。这些文件的大小在35k到700字节之间,所以不算大

大约一周前,我开始上传CSV文件(但不是PDF文件)时出现异常。例外情况如下所示:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 500 Internal Server Error
{
"code" : 500,
"errors" : [ {
"domain" : "global",
"message" : "Internal Error",
"reason" : "internalError"
} ],
"message" : "Internal Error"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
转换csv文件和不转换时都会发生这种情况(此答案意味着转换是问题所在:)

我还看到了503个错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 Service Unavailable
{
  "code" : 503,
  "errors" : [ {
    "domain" : "global",
    "message" : "Backend Error",
    "reason" : "backendError"
  } ],
  "message" : "Backend Error"
}
        at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
这些错误似乎并没有消失——他们在一天中的不同时间,从不同的计算机,使用不同的凭据和不同的文件夹进行了尝试(尽管总是使用相同的API项目进行访问)

Google状态页面没有显示驱动器API已关闭:

我用来查看API请求数量的API控制台没有任何信息

以下是我的环境信息:

  • java 1.6.0_25-b06
  • 谷歌api服务驱动器:v2-rev126-1.18.0-rc
  • 使用jackson:com.google.api.client.json.jackson.JacksonFactory
  • com.google.api.client.http.javanet.NetHttpTransport()
我做了这里概述的指数退避:但只针对403个错误

我在谷歌上搜索了一些错误信息,并查看了这么多问题。这表明唯一的反应是等待:但已经过去了一个多星期

我被难住了。我之所以在这里发帖,是因为这里显然是获得谷歌硬盘问题支持的最佳场所()

更新:

更多细节。我试过:

  • 将线程数降低到1(我有多达15个线程推送文件)。没有改变,仍然得到错误
  • 只推送CSV(而不是PDF)。没有改变,仍然得到错误
  • 更新时将“创建新修订”设置为false:没有更改,仍然会收到错误
  • 将CSV推送到不同的文件名。这成功了
  • 从文件夹中删除CSV。这成功了
  • 加入呼叫谷歌前的等待,从200毫秒到500毫秒不等

正在上载的PDF的修订量减少了两个数量级(~20)。某些csv文件的修订数量最多为2000+。我不确定这是否是一个问题

一个解决方法是通过web界面删除CSV文件。确保完全删除它们,因为仅仅将它们移到垃圾箱是不够的。

有没有关于哪些有用/有帮助的更新?我经历了一个类似的情况,我想我必须重试多次,然后将其扼杀。我还认为它已经消失了,我可能把它归为“分布式系统中的短暂错误”。我真的不记得了。很抱歉