[ 
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)

Reply via email to