Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11882

Clustering Key with ByteBuffer size > 64k throws Assertion Error

    Details

    • Severity:
      Normal

      Description

      Setup:

      CREATE KEYSPACE Blues WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 2};
      CREATE TABLE test (a text, b text, PRIMARY KEY ((a), b))
      

      There currently doesn't seem to be an existing check for selecting clustering keys that are larger than 64k. So if we proceed to do the following select:

      CONSISTENCY ALL;
      SELECT * FROM Blues.test WHERE a = 'foo' AND b = 'something larger than 64k';
      

      An AssertionError is thrown in `ByteBufferUtil` with just a number and an error message detailing 'Coordinator node timed out waiting for replica nodes responses' . Additionally, because an error extends Throwable (it's not a subclass of Exception), it's not caught so the connection between the coordinator node and the other nodes which have the replicas seem to be 'stuck' until it's restarted. Any other subsequent queries, even if it's just SELECT where a = 'foo' and b = 'bar', will always return the Coordinator timing out waiting for replica nodes responses'.

        Attachments

        1. 11882-2.1.txt
          9 kB
          Lerh Chuan Low
        2. 11882-2.2.txt
          8 kB
          Lerh Chuan Low
        3. 11882-3.X.txt
          11 kB
          Lerh Chuan Low

          Issue Links

            Activity

              People

              • Assignee:
                Lerh Low Lerh Chuan Low
                Reporter:
                Lerh Low Lerh Chuan Low
                Authors:
                Lerh Chuan Low
                Reviewers:
                Branimir Lambov
              • Votes:
                1 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: