googleapis / googleapis/google-cloud-java

[java-spanner-jdbc] Enabling useVirtualGrpcTransportThreads causes a virtual thread pinning issue.

Đang mở
#12,276 0 bình luận 0 reaction 1 người được giao Được @olavloite nhận Xem trên GitHub
api: spanner
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

Please run down the following list and make sure you've tried the usual "quick fixes":

- Search the issues already opened: https://github.com/googleapis/java-spanner-jdbc/issues
- Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform

If you are still having issues, please include as much information as possible:

#### Environment details

1. Specify the API at the beginning of the title. For example, "BigQuery: ...").
General, Core, and Other are also allowed as types
2. OS type and version:
3. Java version: JDK 21
4. version(s): google-cloud-spanner-jdbc : 2.32.0

#### Steps to reproduce

1. useVirtualGrpcTransportThreads.
Example : jdbc:cloudspanner:/projects/nv-local/instances/test-instance/databases/trades?autoConfigEmulator=true;useVirtualThreads=true;numchannels=20;useVirtualGrpcTransportThreads=true
2. ?

#### Code example

```java
// example
```

#### Stack trace
Thread[#67,ForkJoinPool-1-worker-2,5,CarrierThreads]
java.base/java.lang.VirtualThread$VThreadContinuation.onPinned(VirtualThread.java:183)
java.base/jdk.internal.vm.Continuation.onPinned0(Continuation.java:393)
java.base/java.lang.VirtualThread.park(VirtualThread.java:582)
java.base/java.lang.System$2.parkVirtualThread(System.java:2643)
java.base/jdk.internal.misc.VirtualThreads.park(VirtualThreads.java:54)
**java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:219)**
**com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:569)**
com.google.cloud.spanner.spi.v1.GapicSpannerRpc.get(GapicSpannerRpc.java:1975)
com.google.cloud.spanner.spi.v1.GapicSpannerRpc.beginTransaction(GapicSpannerRpc.java:1840)
com.google.cloud.spanner.AbstractReadContext$MultiUseReadOnlyTransaction.initTransactionInternal(AbstractReadContext.java:464)
com.google.cloud.spanner.AbstractReadContext$MultiUseReadOnlyTransaction.initTransaction(AbstractReadContext.java:455) <== monitors:1
com.google.cloud.spanner.AbstractReadContext$MultiUseReadOnlyTransaction.beforeReadOrQuery(AbstractReadContext.java:379)
com.google.cloud.spanner.AbstractReadContext.executeQueryInternalWithOptions(AbstractReadContext.java:799)
com.google.cloud.spanner.AbstractReadContext.executeQueryInternal(AbstractReadContext.java:669)
com.google.cloud.spanner.AbstractReadContext.executeQuery(AbstractReadContext.java:631)
com.google.cloud.spanner.connection.AbstractMultiUseTransaction.internalExecuteQuery(AbstractMultiUseTransaction.java:150)
com.google.cloud.spanner.connection.AbstractMultiUseTransaction.lambda$executeQueryAsync$0(AbstractMultiUseTransaction.java:141)
io.grpc.Context$2.call(Context.java:583)
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75)
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
io.opentelemetry.context.Context.lambda$wrap$1(Context.java:241)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
java.base/java.lang.VirtualThread.run(VirtualThread.java:309)

#### External references such as API reference guides

- ?

#### Any additional information below

Following these steps guarantees the quickest resolution possible.

Thanks!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.