cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Petrov (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Deleted] (CASSANDRA-10857) Allow dropping COMPACT STORAGE flag from tables in 3.X
Date Tue, 07 Nov 2017 13:11:06 GMT

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

Alex Petrov updated CASSANDRA-10857:
------------------------------------
    Comment: was deleted

(was: Github user ptnapoleon commented on a diff in the pull request:

    https://github.com/apache/cassandra-dtest/pull/9#discussion_r149296242
  
    --- Diff: cql_tests.py ---
    @@ -698,6 +719,54 @@ def many_columns_test(self):
                        ",".join(map(lambda i: "c_{}".format(i), range(width))) +
                        " FROM very_wide_table", [[i for i in range(width)]])
     
    +    @since("3.11", max_version="3.X")
    +    def drop_compact_storage_flag_test(self):
    +        """
    +        Test for CASSANDRA-10857, verifying the schema change
    +        distribution across the other nodes.
    +
    +        """
    +
    +        cluster = self.cluster
    +
    +        cluster.populate(3).start()
    +        node1 = cluster.nodelist()[0]
    +        node2 = cluster.nodelist()[1]
    +        node3 = cluster.nodelist()[2]
    +        time.sleep(0.2)
    +
    +        session1 = self.patient_cql_connection(node1)
    +        session2 = self.patient_cql_connection(node2)
    +        session3 = self.patient_cql_connection(node3)
    +        self.create_ks(session1, 'ks', 3)
    +        sessions = [session1, session2, session3]
    +
    +        for session in sessions:
    +            session.set_keyspace('ks')
    +
    +        session1.execute("""
    +            CREATE TABLE test_drop_compact_storage (k int PRIMARY KEY, s1 int) WITH COMPACT
STORAGE;
    +        """)
    +        time.sleep(1)
    --- End diff --
    
    No need for this sleep.
)

> Allow dropping COMPACT STORAGE flag from tables in 3.X
> ------------------------------------------------------
>
>                 Key: CASSANDRA-10857
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10857
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL, Distributed Metadata
>            Reporter: Aleksey Yeschenko
>            Assignee: Alex Petrov
>            Priority: Blocker
>              Labels: client-impacting
>             Fix For: 4.0, 3.0.x, 3.11.x
>
>
> Thrift allows users to define flexible mixed column families - where certain columns
would have explicitly pre-defined names, potentially non-default validation types, and be
indexed.
> Example:
> {code}
> create column family foo
>     and default_validation_class = UTF8Type
>     and column_metadata = [
>         {column_name: bar, validation_class: Int32Type, index_type: KEYS},
>         {column_name: baz, validation_class: UUIDType, index_type: KEYS}
>     ];
> {code}
> Columns named {{bar}} and {{baz}} will be validated as {{Int32Type}} and {{UUIDType}},
respectively, and be indexed. Columns with any other name will be validated by {{UTF8Type}}
and will not be indexed.
> With CASSANDRA-8099, {{bar}} and {{baz}} would be mapped to static columns internally.
However, being {{WITH COMPACT STORAGE}}, the table will only expose {{bar}} and {{baz}} columns.
Accessing any dynamic columns (any column not named {{bar}} and {{baz}}) right now requires
going through Thrift.
> This is blocking Thrift -> CQL migration for users who have mixed dynamic/static column
families. That said, it *shouldn't* be hard to allow users to drop the {{compact}} flag to
expose the table as it is internally now, and be able to access all columns.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message