alan.zhao created FLINK-37782: --------------------------------- Summary: flink-rpc-core RemoteHandshakeMessage nullness annotation Key: FLINK-37782 URL: https://issues.apache.org/jira/browse/FLINK-37782 Project: Flink Issue Type: Bug Components: Runtime / RPC Affects Versions: 2.0.0 Reporter: alan.zhao
when i run test MiniClusterITCase#runJobWithSingleRpcService, i got errors ``` -ideVersion5 -junit5 org.apache.flink.runtime.minicluster.MiniClusterITCase,runJobWithMultipleRpcServices org.apache.flink.runtime.client.JobExecutionException: Could not retrieve JobResult. at org.apache.flink.runtime.minicluster.MiniCluster.executeJobBlocking(MiniCluster.java:1058) at org.apache.flink.runtime.minicluster.MiniClusterITCase.runJobWithMultipleRpcServices(MiniClusterITCase.java:100) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: org.apache.flink.util.concurrent.FutureUtils$RetryException: Could not complete the operation. Number of retries has been exhausted. at org.apache.flink.util.concurrent.FutureUtils.lambda$4(FutureUtils.java:295) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) at org.apache.flink.util.concurrent.FutureUtils.doForward(FutureUtils.java:1315) at org.apache.flink.runtime.concurrent.ClassLoadingUtils.lambda$3(ClassLoadingUtils.java:93) at org.apache.flink.runtime.concurrent.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:68) at org.apache.flink.runtime.concurrent.ClassLoadingUtils.lambda$2(ClassLoadingUtils.java:92) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) at scala.concurrent.java8.FuturesConvertersImpl$CF$$anon$1.accept(FutureConvertersImpl.scala:63) at scala.concurrent.java8.FuturesConvertersImpl$CF$$anon$1.accept(FutureConvertersImpl.scala:61) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) ... 6 more Caused by: java.util.concurrent.CompletionException: java.lang.Error: Unresolved compilation problems: The nullness annotation @Nonnull is not applicable for the primitive type int The nullness annotation @Nonnull is not applicable for the primitive type int The nullness annotation @Nonnull is not applicable for the primitive type int at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) ... 13 more Caused by: java.lang.Error: Unresolved compilation problems: The nullness annotation @Nonnull is not applicable for the primitive type int The nullness annotation @Nonnull is not applicable for the primitive type int The nullness annotation @Nonnull is not applicable for the primitive type int at org.apache.flink.runtime.rpc.messages.RemoteHandshakeMessage.<init>(RemoteHandshakeMessage.java:35) at org.apache.flink.runtime.rpc.pekko.PekkoRpcService.lambda$connectInternal$8(PekkoRpcService.java:509) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ... 13 more Process finished with exit code 255 ``` Based on the error message, I removed the @NonNull annotation from the `version` field in `RemoteHandshakeMessage`, and the test ran successfully. However, now I cannot reproduce the error: even if `RemoteHandshakeMessage#version` has the @Nonnull annotation, the test still passes. I don't know the reason, but I suspect @Nonnull is not applicable to primitive types like `int`. -- This message was sent by Atlassian Jira (v8.20.10#820010)