Cassandra
  1. Cassandra
  2. CASSANDRA-7049

Rows with dynamic columns inserted via cassandra-cli are not shown via cqlsh

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Fix Version/s: None
    • Component/s: Core

      Description

      # use cli/thrift interface to create column family and insert 2 rows
      bin/cassandra-cli
      
      create keyspace test;
      use test;
      # create column family first
      create column family t1 with comparator = UTF8Type and key_validation_class = UTF8Type and default_validation_class=UTF8Type and column_metadata = [{column_name: column1, validation_class: UTF8Type}];  
      # insert few rows into t1 with dynamic columns
      set t1['1']['column2'] = 'value2';
      set t1['2']['column3'] = 'value3';
      # list rows
      list t1;
      -------------------
      RowKey: 2
      => (name=column3, value=value3, timestamp=1397717445436000)
      -------------------
      RowKey: 1
      => (name=column2, value=value2, timestamp=1397717447253000)
      2 Rows Returned.
      
      # check that 2 rows are visible from cqlsh
      bin/cqlsh
      
      use test;
      select * from t1;
      (0 rows)
      

      Expected result:
      Rows are show from CQL
      Actual result:
      No rows are displayed

        Activity

        Hide
        Michael Shuler added a comment -

        cassandra-cli is deprecated and will be removed in 3.0. In 2.0.x/2.1.x, -cli will likely not see any changes - http://www.datastax.com/dev/blog/thrift-to-cql3 discusses dynamic columns in cqlsh and some of the behavior your might be seeing.

        Show
        Michael Shuler added a comment - cassandra-cli is deprecated and will be removed in 3.0. In 2.0.x/2.1.x, -cli will likely not see any changes - http://www.datastax.com/dev/blog/thrift-to-cql3 discusses dynamic columns in cqlsh and some of the behavior your might be seeing.
        Hide
        Aleksey Yeschenko added a comment -

        This actually is a legit issue, and doesn't have much to do with CLI itself, deprecated or not.

        There is currently no way to access columns that aren't part of column_metadata (the dynamic part of 'mixed' Thrift column families), only the static part.

        Except removing all the column_metadata entirely, so that it would become a dynamic column family. You'll probably want to change default_validation_class to BytesType then, too.

        Then you'd be able to read all the data via CQL, treated as dense tables.

        We'll have to find a way to do this in a better way, eventually, probably, but for now that's the only workaround.

        Show
        Aleksey Yeschenko added a comment - This actually is a legit issue, and doesn't have much to do with CLI itself, deprecated or not. There is currently no way to access columns that aren't part of column_metadata (the dynamic part of 'mixed' Thrift column families), only the static part. Except removing all the column_metadata entirely, so that it would become a dynamic column family. You'll probably want to change default_validation_class to BytesType then, too. Then you'd be able to read all the data via CQL, treated as dense tables. We'll have to find a way to do this in a better way, eventually, probably, but for now that's the only workaround.

          People

          • Assignee:
            Unassigned
            Reporter:
            Sergey Bushik
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development