etcd-io / jetcd

etcd java client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

not resoponse when runiing in jdk21

qiaofazhan opened this issue · comments

Versions

  • etcd: 3.5.3
  • jetcd: 7.5
  • java: jdk21

Describe the bug
progrem code like this:
GetOption op = GetOption.newBuilder().isPrefix(true).build();
CompletableFuture getFuture=
EtcdFactory.getKVClient().get(EtcdFactory.bytesOf(EtcdConstant.KEYPREFIX_PRODUCER),op);
GetResponse response = null;
try {
response = getFuture.get();//keep blocking in java21
} catch (InterruptedException e) {
log.error(Constant.LOG_ERR_PRE+"find etcd producer data error",e);
throw new RuntimeException(e);
} catch (ExecutionException e) {
log.error(Constant.LOG_ERR_PRE+"find etcd producer data error",e);
throw new RuntimeException(e);
}
List list = response.getKvs();

////////////////////////
The above code works fine in java8;
When upgrading java8 to java21, the above code will keep blocking the CompletableFuture get method;
To Reproduce
Run the above code in java21;

Expected behavior
CompletableFuture can be returned normally

Additional context

I solved this problem by upgrading GRPC-related dependencies. jetcd has also been upgraded to version 7.7

grpc-netty io.grpc 1.62.2 guava com.google.guava grpc-protobuf io.grpc 1.62.2 guava com.google.guava protobuf-java com.google.protobuf grpc-stub io.grpc 1.62.2 guava com.google.guava grpc-util guava com.google.guava io.grpc 1.62.2 grpc-core guava com.google.guava io.grpc 1.62.2