Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting "com.google.apphosting.api.ApiProxy$UnknownException: An error occurred for the API request datastore_v3.Get()." Error #58

Open
JoshSchaeferOwnersBox opened this issue Sep 25, 2023 · 0 comments

Comments

@JoshSchaeferOwnersBox
Copy link

JoshSchaeferOwnersBox commented Sep 25, 2023

Hello, we are currently getting a com.google.apphosting.api.ApiProxy$UnknownException: An error occurred for the API request datastore_v3.Get(). error when we make a request to our Google datastore through Objectify. This error occurs very randomly about once an hour in our application. We have tried to implement retry logic to retry the request again when it fails, but it continues to fail on each retry attempt. It is a Java 11 application and we are on Objectify version 5.1.13 (the latest Objectify version is 6.0.9). We are not sure if this error is a known issue with Objectify version 5.1.13 or if there is another cause of this error.

Here are the logs from this exception:
com.google.apphosting.api.ApiProxy$UnknownException: An error occurred for the API request datastore_v3.Get(). at com.google.apphosting.utils.runtime.ApiProxyUtils.statusException(ApiProxyUtils.java:226) at com.google.apphosting.utils.runtime.ApiProxyUtils.getRpcError(ApiProxyUtils.java:146) at com.google.apphosting.runtime.ApiProxyImpl$AsyncApiFuture.setRpcError(ApiProxyImpl.java:709) at com.google.apphosting.runtime.ApiProxyImpl$AsyncApiFuture.failure(ApiProxyImpl.java:694) at com.google.apphosting.runtime.http.HttpApiHostClient.communicationFailure(HttpApiHostClient.java:220) at com.google.apphosting.runtime.http.JettyHttpApiHostClient$Listener.onComplete(JettyHttpApiHostClient.java:201) at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218) at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210) at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481) at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461) at org.eclipse.jetty.client.HttpReceiver.abort(HttpReceiver.java:557) at org.eclipse.jetty.client.HttpReceiver.responseFailure(HttpReceiver.java:453) at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.failAndClose(HttpReceiverOverHTTP.java:413) at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:385) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1621) at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:269) at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:185) at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:80) at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131) at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:172) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.io.EOFException: HttpConnectionOverHTTP@312087e5::SocketChannelEndPoint@3fe76fb1{l=/192.168.1.1:33405,r=appengine.googleapis.internal/169.254.169.253:10001,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@312087e5(l:/192.168.1.1:33405 <-> r:appengine.googleapis.internal/169.254.169.253:10001,closed=false)=>HttpChannelOverHTTP@3bd8ec95(exchange=HttpExchange@7eda658a{req=HttpRequest[POST /rpc_http HTTP/1.1]@4b70da1b[TERMINATED/null] res=HttpResponse[null 0 null]@4feebe23[PENDING/null]})[send=HttpSenderOverHTTP@33ae5f0f(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@1ef59ac5{s=START}],recv=HttpReceiverOverHTTP@53182b02(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]

Also, this is an example of how we are retrieving data from the datastore:
public List<Player> getPlayers(List<Key<Player>> keyList, boolean cached) { return new ArrayList<>(ofy().cache(cached).load().keys(keyList).values()); }

Please let us know if you need us to provide more information about this issue and we will get back to you as soon as possible. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant