[jira] [Issue Comment Deleted] (CASSANDRA-10857) Allow dropping COMPACT STORAGE flag from tables in 3.X

2017-11-07 Thread Alex Petrov (JIRA)

 [ 
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_r149296143
  
--- 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)
--- End diff --

There's 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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Issue Comment Deleted] (CASSANDRA-10857) Allow dropping COMPACT STORAGE flag from tables in 3.X

2017-11-07 Thread Alex Petrov (JIRA)

 [ 
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_r149296195
  
--- 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]
--- End diff --

Its much more concise to just write `node1, node2, node3 = 
cluster.nodelist()`
)

> 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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Issue Comment Deleted] (CASSANDRA-10857) Allow dropping COMPACT STORAGE flag from tables in 3.X

2017-11-07 Thread Alex Petrov (JIRA)

 [ 
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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org