[ 
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)

Reply via email to