gpt4 book ai didi

java - 我们如何防止 Google Cloud API 吞噬异常?

转载 作者:行者123 更新时间:2023-11-30 02:42:11 25 4
gpt4 key购买 nike

我有时会在 put() 上遇到以下异常。 (尽管总的来说,我的代码运行良好。)

我最好的猜测是 Datastore 内部遇到索引错误(有 no tools for diagnosing ),但我不确定,因为该错误被 Protobuf 解析问题所吞没。

In another case ,Protobuf 解析消息的类似吞没异常是由 Dataflow 自己的 Datastore API 内部的错误引起的,Dataflow 团队修复了该问题 - 但在这里我根本不使用 Dataflow。

我怎样才能知道是什么原因造成的?

使用 Google Cloud API 0.28。

   ... at com.google.cloud.datastore.DatastoreImpl.put(DatastoreImpl.java:340)
at com.google.cloud.datastore.DatastoreImpl.commitMutation(DatastoreImpl.java:380)
at com.google.cloud.datastore.DatastoreImpl.commit(DatastoreImpl.java:386)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:244)
at com.google.cloud.RetryHelper.doRetry(RetryHelper.java:179)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:387)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:390)
at com.google.cloud.datastore.spi.DefaultDatastoreRpc.commit(DefaultDatastoreRpc.java:131)
at com.google.datastore.v1.client.Datastore.commit(Datastore.java:84)
at com.google.datastore.v1.client.RemoteRpc.call(RemoteRpc.java:89)
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:148)
at com.google.rpc.Status.parseFrom(Status.java:323)
java.lang.NoSuchMethodError: com.google.protobuf.GeneratedMessage.parseWithIOException(Lcom/google/protobuf/Parser;Ljava/io/InputStream;)Lcom/google/protobuf/Message;

最佳答案

我认为这是旧版本的 com.google.protobuf:protobuf-java 工件进入类路径的症状。 GenerateMessage.parseWithIOException 方法已添加到 com.google.protobuf:protobuf-java:jar:3.0.0 中。

防止这种情况的一种方法是在 pom 文件中添加 dependencyManagement 部分:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
</dependencyManagement>

一旦解决了依赖问题,客户端应该能够正确解析 Status protos 并显示底层错误。

关于java - 我们如何防止 Google Cloud API 吞噬异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com