v1.68.0 was a mistake. This is the first release of version 1.68.x
builder.transportExecutor() runs out of threads (e.g., it is a fixed-size thread pool), all
transports can be wedged, unable to run on-demand tasks, until
keepalive kills one of them. Two threads are now used when handshaking a
new transport, and the transport will time out after 1 second with
“Timed out waiting for second handshake thread” if two threads are
unavailablemesh_id value from CSM_MESH_ID environment variable, instead of getting it from bootstrap file (84d30af)io.grpc.Context storage override to store its state in io.opentelemetry.context.Context. Libraries should not add a dependency on this artifact, as applications can only have one storage override in their classpathio.grpc.s2a.S2AChannelCredentialsStreamTracer.inboundMessageRead() now reports uncompressed message size when the message does not need compression (#11598) (2aae68e). Previously it always reported -1 (unknown)UdsChannelBuilder, use fake IP instead of localhost (a908b5e). This avoids an unnecessary DNS lookupGRPC_EXPERIMENTAL_ENABLE_OTEL_TRACING environment variable to true to enable tracing support in GrpcOpenTelemetry (#11409, #11477)(043ba55, 421e237)Thanks to:
@Juneezee
@lgalfaso
@bestbeforetoday
@hlx502
@JoeCqupt