Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-24706

AkkaInvocationHandler silently ignores deserialization errors

    XMLWordPrintableJSON

Details

    Description

      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.

      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));
                  }
              });
      

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

      Attachments

        Issue Links

          Activity

            People

              chesnay Chesnay Schepler
              chesnay Chesnay Schepler
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: