[
https://issues.apache.org/jira/browse/CASSANDRA-10246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14982158#comment-14982158
]
Sylvain Lebresne commented on CASSANDRA-10246:
----------------------------------------------
Yeah, I think the fix version on this is wrong. It's sad that named values
don't work in the protocol v4 but that's the way it is. The only sensible
solution now is to fix that in the protocol v5, which does mean we should make
this a subtask of CASSANDRA-9362, but also that this won't make 3.1 (we don't
have decide yet when we want to go ahead with protocol v5, but it'll probably
not be before a few months).
I'll add a note to the protocol doc that named values in batch actually don't
work and can't be used in the meantime.
> Named values don't work with batches
> ------------------------------------
>
> Key: CASSANDRA-10246
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10246
> Project: Cassandra
> Issue Type: Bug
> Components: CQL
> Reporter: Michael Penick
> Assignee: Ariel Weisberg
> Labels: client-impacting
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> This is broken at the protocol-level and in the implementation.
> At the protocol-level the {{<flags>}} component of the batch comes after the
> queries. That means the protocol parser would need to read ahead (and back
> track) to determine the values encoding and correctly read the values from
> the query entries. Also, a batch-level setting for named values forces all
> queries to use the same encoding. Should batches force a single, homogenous
> query value encoding? (This is confusing)
> In the implementation, values are indiscriminately read using
> {{CBUtil.readValueList()}}, and the batch flags are never checked (for
> {{(Flag.NAMES_FOR_VALUES}}) to see if {{CBUtil.readNameAndValueList()}}
> should be called instead:
> https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/transport/messages/BatchMessage.java#L64
> Proposed solution: CASSANDRA-10247
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)