1

「バックエンド」Google App Engine フレキシブル環境インスタンスのバックグラウンド スレッドで Google Cloud API for Datastore を使用して単純なクエリを実行すると、数秒間複数回クエリを試行すると、次の例外が発生しました。

An error occurred parsing (locally or remotely) the arguments to URLFETCH.Fetch()

(スタックトレースについては以下を参照してください。)

別のエラーと同時に発生しました

com.google.apphosting.vmruntime.VmApiProxyDelegate  convertApiResponseRpcErrorToException: RPC failed, API=urlfetch.Fetch : BAD_REQUEST : There is no active request context for this API call.

例外の直前に、ログが表示されます

 com.google.apphosting.vmruntime.VmRequestThreadFactory interruptRequestThreads: Request thread Thread-16 is still alive, forcing interrupt. 

... convertApiResponseRpcErrorToException: RPC failed, API=urlfetch.Fetch : CANCELLED

これは、ウェブ リクエストの 60 秒の制限など、Google App Engine のタイムアウトに達したことを示しています。ログを見ると、それは真実ではないようです。ただし、そのクエリは backgroundThreadFactory で作成されたバックグラウンド スレッドで実行されます

これは、同じデータに対して以前と後で実行した Java コードであり、そのような問題はありませんでした。そのため、実行時に何か特定のことが起こりました。

この問題の原因は何ですか?

スタックトレース:

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: com.google.cloud.datastore.DatastoreException: com.google.apphosting.api.ApiProxy$ArgumentException: An error occurred parsing (locally or remotely) the arguments to URLFETCH.Fetch(). at com.google.cloud.datastore.DatastoreException.translateAndThrow(DatastoreException.java:66) at com.google.cloud.datastore.DatastoreImpl.runQuery(DatastoreImpl.java:97) at com.google.cloud.datastore.QueryResultsImpl.sendRequest(QueryResultsImpl.java:73) at com.google.cloud.datastore.QueryResultsImpl.<init>(QueryResultsImpl.java:57) at com.google.cloud.datastore.DatastoreImpl.run(DatastoreImpl.java:82) at com.google.cloud.datastore.DatastoreImpl.run(DatastoreImpl.java:73) at com.freightos.backup.datastore.gcloudapi.GCloudApiDSBackup.loadEntity(GCloudApiDSBackup.java:692) at com.freightos.backup.datastore.gcloudapi.GCloudApiDSBackup$CopyEntities.loadOneEntity(GCloudApiDSBackup.java:1104) ... 7 more Caused by: com.google.apphosting.api.ApiProxy$ArgumentException: An error occurred parsing (locally or remotely) the arguments to URLFETCH.Fetch(). at com.google.apphosting.vmruntime.VmApiProxyDelegate.convertApiResponseRpcErrorToException(VmApiProxyDelegate.java:397) at com.google.apphosting.vmruntime.VmApiProxyDelegate.convertRemoteError(VmApiProxyDelegate.java:341) at com.google.apphosting.vmruntime.VmApiProxyDelegate.runSyncCall(VmApiProxyDelegate.java:187) at com.google.apphosting.vmruntime.VmApiProxyDelegate.makeApiCall(VmApiProxyDelegate.java:155) at com.google.apphosting.vmruntime.VmApiProxyDelegate.makeSyncCallWithTimeout(VmApiProxyDelegate.java:143) at com.google.apphosting.vmruntime.VmApiProxyDelegate.makeSyncCall(VmApiProxyDelegate.java:132) at com.google.apphosting.vmruntime.VmApiProxyDelegate.makeSyncCall(VmApiProxyDelegate.java:75) at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:118) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:40) at com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:74) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981) at com.google.datastore.v1.client.RemoteRpc.call(RemoteRpc.java:87) at com.google.datastore.v1.client.Datastore.runQuery(Datastore.java:108) at com.google.cloud.datastore.spi.DefaultDatastoreRpc.runQuery(DefaultDatastoreRpc.java:158) at com.google.cloud.datastore.DatastoreImpl$1.call(DatastoreImpl.java:93) at com.google.cloud.datastore.DatastoreImpl$1.call(DatastoreImpl.java:89) at com.google.cloud.RetryHelper.doRetry(RetryHelper.java:179) at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:244) at com.google.cloud.datastore.DatastoreImpl.runQuery(DatastoreImpl.java:88) ... 13 more
4

0 に答える 0