java-driver
java-driver copied to clipboard
DataStax Java Driver for Apache Cassandra
New PR from fork
FrameEncoder.java - release encoded frame when throwing FrameTooLongException FrameEncoderTest.java - test successful frame encode does not leak - test failing frame encode does not leak
SegmentToFrameDecoder.java - release any accumulated segements when handler is removed from pipeline SegmentToFrameDecoderTest.java - add test to check partially accumulated segments are released when channel is closed
While profiling a service using java-driver 3.x, in JFR output I noticed significant CPU cycles and memory allocations corresponding to computing `TokenRange::hashCode()`. Note that this is likely due to use...
DefaultBoundStatement#getRoutingKey has logic to infer the routing key when no one has explicitly called setRoutingKey or otherwise set the routing key on the statement. It however doesn't check for cases...
Those repeated calls account for a non-negligible portion of my application CPU (0.6%) and can definitly be a final field so that it gets resolved only once per CqlRequestHandler.
As this can be expensive. Uneeded also: most requests are idempotent. Cost me 0.2% of overall applicative CPU. Not much, but that's a easy win...
JAVA-3030 Use configuration to determine batch-type instead of setting on a per-batch transaction basis
Add `onAuthenticationFailure()` callback to the Authenticator lifecycle methods so that authenticator instances are made aware of authentication failures as well - which would truly complete the lifecycle callbacks.