[
https://issues.apache.org/jira/browse/CASSANDRA-20234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916228#comment-17916228
]
David Capwell commented on CASSANDRA-20234:
-------------------------------------------
holding off on commit... looks like this broke gossip...
looks like java.io.DataOutput#writeUTF and
io.netty.buffer.ByteBufUtil#reserveAndWriteUtf8(io.netty.buffer.ByteBuf,
java.lang.CharSequence, int) produce different bytes, yet they share the same
length function.... so fixing the CBUtil length function broke other code
paths...
> CBUtil serialization of UTF8 does not handle all UTF8 properly
> --------------------------------------------------------------
>
> Key: CASSANDRA-20234
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20234
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Messaging/Client
> Reporter: David Capwell
> Assignee: David Capwell
> Priority: Normal
> Fix For: 4.0.x
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> The following error was presented to the user from java driver
> {code}
> Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 512 out of bounds
> for length 6
> at
> com.datastax.driver.core.Responses$Result$Kind.fromId(Responses.java:339)
> at
> com.datastax.driver.core.Responses$Result$1.decode(Responses.java:306)
> at
> com.datastax.driver.core.Responses$Result$1.decode(Responses.java:303)
> {code}
> The issue is that there is an off-by-1 issue with track warnings
> serialization where the estimated size and the actual size don’t match, which
> cause the client to read result kind of 512 (which isn’t valid)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]