[RELEASE] ScyllaDB Java Driver 3.11.5.14

We are pleased to announce the release of ScyllaDB Java Driver 3.11.5.14 :tada:

The ScyllaDB Java Driver is an open-source, asynchronous Java client for ScyllaDB, fully compatible with Apache Cassandra. You can find it on GitHub and Maven Central.


:bug: Bug Fixes & Improvements

Improved driver-side timeout logging (#867)

Previously, when an OperationTimedOutException was raised, the log output provided no context about why it happened. Two distinct failure modes were indistinguishable in the logs:

  1. Pool contention — the request was queued inside the driver waiting to borrow a connection, and the cumulative wait exceeded readTimeoutMillis. The request may never have reached the server.

  2. Server-side slowness — the request reached the server but the server took longer than readTimeoutMillis to respond (e.g. due to a reader_concurrency_semaphore stall). The driver gave up, but the server may still be processing the request.

This release adds a new WARN-level log line emitted immediately before OperationTimedOutException is thrown:

Code

[<execution-id>] Driver-side timeout waiting for response from <host> —
    configured timeout: <N>ms,
    connection in-flight: <N>,
    pool pending borrows: <N>,
    pool total in-flight: <N>

How to interpret the output:

Field Meaning
configured timeout The readTimeoutMillis value in effect — confirms whether a per-statement or driver-wide timeout was used
connection in-flight Requests currently awaiting a response on this specific connection
pool pending borrows Requests waiting to acquire any connection from the pool — a non-zero value indicates pool contention
pool total in-flight Total in-flight requests across all connections to this host

Quick diagnosis guide:

  • pool pending borrows > 0 → pool contention; requests are queuing inside the driver before reaching the server

  • pool pending borrows = 0 + high connection in-flight → server-side slowness; requests sent but not answered within the timeout

  • Unexpectedly small configured timeout → a non-default readTimeoutMillis may be set somewhere (e.g. in a framework wrapper)


:package: Getting the Release

Maven:

XML

<dependency>
  <groupId>com.scylladb</groupId>
  <artifactId>java-driver-core</artifactId>
  <version>3.11.5.14</version>
</dependency>

GitHub Release: https://github.com/scylladb/java-driver/releases/tag/3.11.5.14

Full Changelog: https://github.com/scylladb/java-driver/compare/3.11.5.13…3.11.5.14


:folded_hands: Contributors

Thanks to everyone who contributed to this release:


We welcome questions, bug reports, and feature requests — feel free to open an issue on GitHub or start a discussion here on the forum!