You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Chesnay Schepler (Jira)" <ji...@apache.org> on 2021/10/29 12:31:00 UTC

[jira] [Created] (FLINK-24706) AkkaInvocationHandler silently ignores deserialization errors

Chesnay Schepler created FLINK-24706:
----------------------------------------

             Summary: AkkaInvocationHandler silently ignores deserialization errors
                 Key: FLINK-24706
                 URL: https://issues.apache.org/jira/browse/FLINK-24706
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Coordination
    Affects Versions: 1.13.0
            Reporter: Chesnay Schepler
            Assignee: Chesnay Schepler
             Fix For: 1.15.0, 1.14.1, 1.13.4


In AkkaInvocationHandler#invokeRpc we create a new CompletableFuture to return to the caller, and setup a forwarding routine that runs when the response is received via akka.

{code}
final CompletableFuture<Object> completableFuture = new CompletableFuture<>();
resultFuture.whenComplete(
        (resultValue, failure) -> {
            if (failure != null) {
                completableFuture.completeExceptionally(
                        resolveTimeoutException(
                                failure, callStackCapture, address, rpcInvocation));
            } else {
                completableFuture.complete(
                        deserializeValueIfNeeded(resultValue, method));
            }
        });
{code}

If {{deserializeValueIfNeeded}} fails then {{completableFuture}} will never be completed, and we exception will not be logged anywhere.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)