We are happy to announce the release of ScyllaDB Java Driver 3.11.5.13 ![]()
Download / Coordinates
Maven:
<dependency>
<groupId>com.scylladb</groupId>
<artifactId>scylla-driver-core</artifactId>
<version>3.11.5.13</version>
</dependency>
GitHub Release: https://github.com/scylladb/java-driver/releases/tag/3.11.5.13
Full Changelog (3.11.5.12 β 3.11.5.13): https://github.com/scylladb/java-driver/compare/3.11.5.12β¦3.11.5.13
Whatβs New in 3.11.5.13
Fix: LWT PRESERVE_REPLICA_ORDER routing now includes non-replica nodes (#834)
This release fixes a regression in the LWT replica-only routing feature introduced in 3.11.5.12. The PreserveReplicaOrderIterator inside TokenAwarePolicy was not appending non-replica nodes to the query plan after replicas were exhausted. This could cause "No node was available" failures in situations where all replicas were DOWN or IGNORED.
What changed:
-
When replicas are available, non-replica nodes from the child policy are now appended after all replicas (local-DC nodes first, then remote).
-
When no replicas are available at all (all DOWN/IGNORED or routing info missing), the full child policy fallback is preserved as before.
This makes the driver more resilient under partial failure scenarios while keeping the LWT performance benefits introduced in the previous release.
Security: Bump Jackson to 2.18.6 (#829)
Updated com.fasterxml.jackson.core:jackson-core to version 2.18.6 to address security advisory GHSA-72hv-8253-57qq. We recommend all users upgrade.
Recap: LWT Improvements in 3.11.5.12
In the previous release (3.11.5.12), we introduced significant improvements to how LWT (Lightweight Transaction) queries are routed (#796):
LWT Replica-Only Routing with Local DC Prioritization β TokenAwarePolicy now routes LWT queries exclusively to replicas, with local-DC replicas first. This eliminates unnecessary coordinator forwarding hops, reduces cross-DC traffic for LOCAL_SERIAL queries, and lowers contention during Paxos consensus.
Key behaviours:
-
Local replicas first, remote replicas second β keeps Paxos traffic in the local DC wherever possible.
-
No rack-aware ordering β rack-based prioritization is intentionally omitted for LWT to avoid hotspots and Paxos contention on hot partitions.
-
Pragmatic fallback β if routing info is unavailable or all replicas are DOWN/IGNORED, the driver falls back to the standard child policy plan to preserve availability.
-
Configurable via
QueryOptions.setLoadBalancingLwtRequestRoutingMethod():-
PRESERVE_REPLICA_ORDER(default) β replicas only, local-first. -
REGULARβ standard token-aware routing (pre-3.11.5.12 behaviour).
-
For best results, use prepared statements β they always carry a routing key, ensuring the LWT optimization activates consistently.
Upgrade Notes
No breaking changes or API modifications in either 3.11.5.12 or 3.11.5.13. Upgrading is a drop-in replacement. The LWT routing optimization is automatic when using TokenAwarePolicy with prepared statements.
We appreciate all contributors and the community for testing and feedback. Feel free to open an issue on GitHub or reply here if you run into anything!
This draft is ready to paste into the forum. A few things you may want to customize before posting:
-
Maven coordinates β double-check the
groupId/artifactIdmatch whatβs actually published to Maven Central for this release. -
Category/tags β match whatever the forum uses (e.g.,
drivers,release,java).