vincent royer created CASSANDRA-14942:
-----------------------------------------

             Summary: cqlsh cannot describe keyspace when having table schema 
extensions
                 Key: CASSANDRA-14942
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14942
             Project: Cassandra
          Issue Type: Bug
          Components: CQL
         Environment: Cassandra 3.11.3

The issue comes from the cqlsh utility, in cassandra/metadata.py, function 
_all_as_cql, viewkeys is not known. 

 

 
            Reporter: vincent royer


When adding a schema table extension to a table, cqlsh failed to describe 
keyspace or table with the following error message: 'module' object has no 
attribute 'viewkeys'

Step to reproduce the issue:

{{docker run --name some-cassandra -d docker.io/cassandra:3.11.3}}{{docker exec 
-it <container_id> cqlsh <<EOF}}

{{CREATE KEYSPACE ks WITH replication = \{'class': 'SimpleStrategy', 
'replication_factor': 1};}}

{{CREATE TABLE ks.cf (id text PRIMARY KEY , a int);}}

{{INSERT INTO system_schema.tables (keyspace_name, table_name, extensions ) 
VALUES ( 'ks','cf',\{'key1':textAsBlob('foo')});}}

{{EOF}}

 

{{docker exec -it <container_id> cqlsh -e "DESC KEYSPACE ks"}}

{{'module' object has no attribute 'viewkeys'}}

 

docker exec -it c75a002959e2 cqlsh --debug -e "DESC KEYSPACE ks"
Using CQL driver: <module 'cassandra' from 
'/usr/share/cassandra/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/__init__.py'>
Using connect timeout: 5 seconds
Using 'utf-8' encoding
Using ssl: False

Traceback (most recent call last):
 File "/usr/bin/cqlsh.py", line 925, in onecmd
 self.handle_statement(st, statementtext)
 File "/usr/bin/cqlsh.py", line 962, in handle_statement
 return custom_handler(parsed)
 File "/usr/bin/cqlsh.py", line 1545, in do_describe
 self.describe_keyspace(ksname)
 File "/usr/bin/cqlsh.py", line 1281, in describe_keyspace
 self.print_recreate_keyspace(self.get_keyspace_meta(ksname), sys.stdout)
 File "/usr/bin/cqlsh.py", line 1231, in print_recreate_keyspace
 out.write(ksdef.export_as_string())
 File 
"/usr/share/cassandra/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/metadata.py",
 line 661, in export_as_string
 + [t.export_as_string() for t in self.tables.values()])
 File 
"/usr/share/cassandra/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/metadata.py",
 line 1116, in export_as_string
 ret = self._all_as_cql()
 File 
"/usr/share/cassandra/lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/metadata.py",
 line 1135, in _all_as_cql
 for k in six.viewkeys(registry) & self.extensions: # no viewkeys on 
OrderedMapSerializeKey
AttributeError: 'module' object has no attribute 'viewkeys'

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to