cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Penick (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-10246) Names values don't work with batches
Date Tue, 01 Sep 2015 21:50:47 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-10246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Michael Penick updated CASSANDRA-10246:
---------------------------------------
    Description: 
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 correctly read
the values from the queries entries. Also, a batch-level setting for named values forces all
queries to use named values. Should batches force homogenous query value types? (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

  was:
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 correctly read
the values from the queries entries. Also, a batch-level setting for named values forces all
queries to use named values. Should batches force homogenous query value types? (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


> Names values don't work with batches
> ------------------------------------
>
>                 Key: CASSANDRA-10246
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10246
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>            Reporter: Michael Penick
>
> 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 correctly read
the values from the queries entries. Also, a batch-level setting for named values forces all
queries to use named values. Should batches force homogenous query value types? (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)

Mime
View raw message