Hi everyone,
We’re happy to announce the release of ScyllaDB Java Driver 4.19.2.3.
This is a larger release than our recent patches. Two things to read before upgrading: the default request timeout changes from 2 to 11 seconds, and the DSE, Astra and Insights code paths have been removed — with their public API types retained as deprecated stubs so existing code still compiles and links.
Default request timeout is now 11 seconds
basic.request.timeout previously defaulted to 2 seconds. It now defaults to 11 seconds, in both reference.conf and the programmatic OptionsMap defaults (#1194).
The reasoning: ScyllaDB’s own server-side request timeout is 10 seconds. With a 2-second client default, the driver gave up before the server could report what happened — so a server-side timeout surfaced as a client-side one, losing the server’s diagnosis. Sitting just above the server timeout lets the server respond first.
Explicit request and profile timeouts are unaffected and continue to take precedence. But if your application relies on the driver failing fast, set basic.request.timeout explicitly rather than inheriting the new default — otherwise calls that used to fail in 2 seconds may now take up to 11.
CQL metric histogram caps have been raised to match, so latency histograms aren’t truncated at the old 3-second ceiling (#1210, #1209).
DSE, Astra and Insights removal
The driver carried a substantial amount of inherited DataStax-specific code that ScyllaDB users never exercised. This release removes the runtime implementations:
- DataStax Astra support (#1034)
- DSE Graph runtime (#1036)
- DataStax Insights monitoring (#1035)
- DSE authentication (#1038)
- DSE metadata (#1040)
- Residual DSE compatibility and build wiring (#1042)
Your code should still compile. The public API types were deliberately restored as deprecated compatibility stubs — Astra (#1236), DSE authentication (#1237), DSE metadata and query builder types (#1238), Graph and geometry (#1239, #1241), and legacy CCM and DSE graph (#1269).
The published API surface is checked against 4.19.2.2 with Revapi, and enum ordinals were preserved rather than shifted when a new driver option was added (#1268, #1053).
DSE Graph execution remains unsupported. The stubs exist to keep source and binary compatibility, not to provide the functionality. Removal of DSE geometry and DateRange is documented in #1039, and OptionsMap serialization upgrade guidance is clarified in #1041.
Reliability and performance
- TLS handshakes no longer block the event loop. SSL engines are now prepared outside Netty I/O threads (#1247).
- Recoverable frame decoding errors no longer strand buffered responses — the connection resumes delivery instead (#1251).
- Dropwizard metrics can no longer hang session initialization (#1267).
- Stream IDs are released when request setup fails, closing a leak that could exhaust a connection’s stream-id space (#1008).
- Recurring driver warnings and errors are rate-limited, so a persistent condition no longer floods application logs (#1235).
- No more spurious warning when broadcast RPC port columns are absent (#1243).
Build and release
- Release credentials are protected and Maven logs sanitized (#1242).
- Revapi baselines now resolve four-component versions (#1053).
- Channel pool resize tests stabilized during reconnection (#1231).
Dependencies
jackson-bom 2.22.4 (#1270), typesafe config 1.4.9 (#1271), reactor-bom 2024.0.18 (#1273), dropwizard metrics-core 4.2.40 (#1272), blockhound 1.0.17 (#1274, #1275).
New signing key
This release is signed with the Java Driver’s repository-specific publisher certificate. Package signatures, release commits and the annotated tag all use this subkey; earlier releases keep their original signatures and verification keys.
- Primary fingerprint:
FA5BF24FD656DB6172B6DEDA92CDA600C75CA820 - Signing subkey fingerprint:
6633DD12AC5A67675513E2EA998E34B10468CB5B - Public certificate
If you verify artifact signatures as part of your build, you’ll need to trust this key.
Who should upgrade
All 4.x users — this release fixes a stream-id leak, two connection-level stalls, and a session-initialization hang. Before you do, check two things:
- Your request timeout. If you’ve never set
basic.request.timeout, your effective timeout increases from 2s to 11s. - Signature verification, if your pipeline enforces it.
Applications that actually used DSE Graph, Astra or Insights at runtime should test before upgrading — the API types remain, but the implementations do not.
Download / Coordinates
xml
<dependency>
<groupId>com.scylladb</groupId>
<artifactId>java-driver-core</artifactId>
<version>4.19.2.3</version>
</dependency>
Links
- GitHub Release: Release 4.19.2.3
- Full Changelog: Comparing 4.19.2.2…4.19.2.3
- Documentation: Java Driver 4.x
As always, feel free to report any issues on GitHub.