[
https://issues.apache.org/jira/browse/FLINK-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479289#comment-16479289
]
ASF GitHub Bot commented on FLINK-9356:
---------------------------------------
Github user kl0u commented on a diff in the pull request:
https://github.com/apache/flink/pull/6028#discussion_r189015635
--- Diff:
flink-queryable-state/flink-queryable-state-runtime/src/main/java/org/apache/flink/queryablestate/client/proxy/KvStateClientProxyHandler.java
---
@@ -225,7 +225,9 @@ private void executeActionAsync(
return location;
} else {
- return FutureUtils.completedExceptionally(new
UnknownLocationException("Could not contact the state location oracle to
retrieve the state location."));
+ return FutureUtils.completedExceptionally(
+ new UnknownLocationException("Could not contact
the state location oracle to retrieve the state location for state="
+ + queryableStateName + " of job=" +
jobId + ", the caused reason maybe the state is not ready or there is no job
exists."));
--- End diff --
This message is pretty verbose and it contains grammatical errors. If it
were to write this, it should be something like:
```
Could not contact the state location oracle to retrieve the location for
state=QSName of job= JobID. The reason can be that the state is not ready or
that that does not exist.
```
But before putting this in, it would be helpful if @florianschmidt1994
commented on what he thinks, as he is the one that opened the issue.
> Improve error message for when queryable state not ready / reachable
> --------------------------------------------------------------------
>
> Key: FLINK-9356
> URL: https://issues.apache.org/jira/browse/FLINK-9356
> Project: Flink
> Issue Type: Improvement
> Components: Queryable State
> Affects Versions: 1.5.0
> Reporter: Florian Schmidt
> Assignee: vinoyang
> Priority: Major
>
> When executing the queryable state client and either
> a. The queryable state is not ready
> b. There is no job with the specified job-id
>
> one sees the following exception:
>
> {code:java}
> Exception in thread "main" java.util.concurrent.ExecutionException:
> java.lang.RuntimeException: Failed request 0.
> Caused by:
> org.apache.flink.queryablestate.exceptions.UnknownLocationException: Could
> not contact the state location oracle to retrieve the state location.
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.getKvStateLookupInfo(KvStateClientProxyHandler.java:228)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.getState(KvStateClientProxyHandler.java:162)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.executeActionAsync(KvStateClientProxyHandler.java:129)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.handleRequest(KvStateClientProxyHandler.java:119)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.handleRequest(KvStateClientProxyHandler.java:63)
> at
> org.apache.flink.queryablestate.network.AbstractServerHandler$AsyncRequestTask.run(AbstractServerHandler.java:236)
> 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:748)
> at
> java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
> at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
> at
> org.apache.flink.streaming.tests.queryablestate.QsStateClient.getMapState(QsStateClient.java:122)
> at
> org.apache.flink.streaming.tests.queryablestate.QsStateClient.main(QsStateClient.java:75)
> Caused by: java.lang.RuntimeException: Failed request 0.
> Caused by:
> org.apache.flink.queryablestate.exceptions.UnknownLocationException: Could
> not contact the state location oracle to retrieve the state location.
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.getKvStateLookupInfo(KvStateClientProxyHandler.java:228)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.getState(KvStateClientProxyHandler.java:162)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.executeActionAsync(KvStateClientProxyHandler.java:129)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.handleRequest(KvStateClientProxyHandler.java:119)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.handleRequest(KvStateClientProxyHandler.java:63)
> at
> org.apache.flink.queryablestate.network.AbstractServerHandler$AsyncRequestTask.run(AbstractServerHandler.java:236)
> 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:748)
> at
> org.apache.flink.queryablestate.network.AbstractServerHandler$AsyncRequestTask.lambda$run$0(AbstractServerHandler.java:273)
> at
> java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> at
> java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> at
> java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at
> java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
> at
> org.apache.flink.queryablestate.client.proxy.KvStateClientProxyHandler.lambda$executeActionAsync$0(KvStateClientProxyHandler.java:146)
> at
> java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> at
> java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> at
> java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
> 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:748)
>
> {code}
>
> This could be improved to display a context-dependant error message, so one
> can more easily identify why the connection to queryable state is not
> possible at the time
>
> cc [~kkl0u]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)