You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (JIRA)" <ji...@apache.org> on 2015/12/02 17:28:11 UTC

[jira] [Commented] (CASSANDRA-10374) List and Map values incorrectly limited to 64k size

    [ https://issues.apache.org/jira/browse/CASSANDRA-10374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15036070#comment-15036070 ] 

Benjamin Lerer commented on CASSANDRA-10374:
--------------------------------------------

||2.1||2.2||3.0||
|[branch|https://github.com/blerer/cassandra/tree/10374-2.1]|[branch|https://github.com/blerer/cassandra/tree/10374-2.2]|[branch|https://github.com/blerer/cassandra/tree/10374-3.0]|
|[utests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-2.1-testall/2/]|[utests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-2.2-testall/1/]|[utests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-3.0-testall/1/]|
|[dtests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-2.1-dtest/2/]|[dtests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-2.2-dtest/2/]|[utests|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10374-3.0-dtest/1/]|

The patches for {{2.1}} and {{2.2}} make sure that we accept list and map values greater than 64k and that we reject set elements and map keys which result in a cellname bigger than 64k.
 
In {{3.0}} the limit for map key and set elements is 2G. The patch makes sure that we accept values and keys greater than 64k everywhere.

> List and Map values incorrectly limited to 64k size
> ---------------------------------------------------
>
>                 Key: CASSANDRA-10374
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10374
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Tyler Hobbs
>            Assignee: Benjamin Lerer
>            Priority: Minor
>             Fix For: 3.0.1, 3.1, 2.1.x, 2.2.x
>
>
> With the v3 native protocol, we switched from encoding collection element sizes with shorts to ints.  However, in {{Lists.java}} and {{Maps.java}}, we still validate that list and map values are smaller than {{MAX_UNSIGNED_SHORT}}.
> Map keys and set elements are stored in the cell name, so they're implicitly limited to the cell name size limit of 64k.  However, for non-frozen collections, this limitation should not apply, so we probably don't want to perform this check here for those either.
> The fix should include tests where we exceed the 64k limit for frozen and non-frozen collections.  In the case of non-frozen lists and maps, we should verify that the 64k cell-name size limit is enforced in a friendly way.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)