[ https://issues.apache.org/jira/browse/CASSANDRA-13364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolae N updated CASSANDRA-13364: ---------------------------------- Description: When importing data with the _COPY_ command into a column family that has a _map<text, frozen<list<text>>>_ field, I get a _unhashable type: 'list'_ error. Here is how to reproduce: {code} CREATE TABLE table1 ( col1 int PRIMARY KEY, col2map map<text, frozen<list<text>>> ); insert into table1 (col1, col2map) values (1, {'key': ['value1']}); cqlsh:ks> copy table1 to 'table1.csv'; table1.csv file content: 1,{'key': ['value1']} cqlsh:ks> copy table1 from 'table1.csv'; ... Failed to import 1 rows: ParseError - Failed to parse {'key': ['value1']} : unhashable type: 'list', given up without retries Failed to process 1 rows; failed rows written to kv_table1.err Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s 1 rows imported from 1 files in 0.420 seconds (0 skipped). {code} But it works fine for Map<String, Set<String>>. {code} CREATE TABLE table2 ( col1 int PRIMARY KEY, col2map map<text, frozen<set<text>>> ); insert into table2 (col1, col2map) values (1, {'key': {'value1'}}); cqlsh:ks> copy table2 to 'table2.csv'; table2.csv file content: 1,{'key': {'value1'}} cqlsh:ks> copy table2 from 'table2.csv'; Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s 1 rows imported from 1 files in 0.417 seconds (0 skipped). {code} The exception seems to arrive in _convert_map_ function in _ImportConversion_ class inside _copyutil.py_. was: When importing data with the _COPY_ the command into a column family that is a _map<text, frozen<list<text>>>_, I get a _unhashable type: 'list'_ error. Here is how to reproduce: {code} CREATE TABLE table1 ( col1 int PRIMARY KEY, col2map map<text, frozen<list<text>>> ); insert into table1 (col1, col2map) values (1, {'key': ['value1']}); cqlsh:ks> copy table1 to 'table1.csv'; table1.csv file content: 1,{'key': ['value1']} cqlsh:ks> copy table1 from 'table1.csv'; ... Failed to import 1 rows: ParseError - Failed to parse {'key': ['value1']} : unhashable type: 'list', given up without retries Failed to process 1 rows; failed rows written to kv_table1.err Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s 1 rows imported from 1 files in 0.420 seconds (0 skipped). {code} But it works fine for Map<String, Set<String>>. {code} CREATE TABLE table2 ( col1 int PRIMARY KEY, col2map map<text, frozen<set<text>>> ); insert into table2 (col1, col2map) values (1, {'key': {'value1'}}); cqlsh:ks> copy table2 to 'table2.csv'; table2.csv file content: 1,{'key': {'value1'}} cqlsh:ks> copy table2 from 'table2.csv'; Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s 1 rows imported from 1 files in 0.417 seconds (0 skipped). {code} The exception seems to arrive in _convert_map_ function in _ImportConversion_ class inside _copyutil.py_. > Cqlsh COPY fails importing Map<String,List<String>>, ParseError unhashable > type list > ------------------------------------------------------------------------------------ > > Key: CASSANDRA-13364 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13364 > Project: Cassandra > Issue Type: Bug > Reporter: Nicolae N > Assignee: Stefania > Labels: cqlsh > Fix For: 3.11.x > > > When importing data with the _COPY_ command into a column family that has a > _map<text, frozen<list<text>>>_ field, I get a _unhashable type: 'list'_ > error. Here is how to reproduce: > {code} > CREATE TABLE table1 ( > col1 int PRIMARY KEY, > col2map map<text, frozen<list<text>>> > ); > insert into table1 (col1, col2map) values (1, {'key': ['value1']}); > cqlsh:ks> copy table1 to 'table1.csv'; > table1.csv file content: > 1,{'key': ['value1']} > cqlsh:ks> copy table1 from 'table1.csv'; > ... > Failed to import 1 rows: ParseError - Failed to parse {'key': ['value1']} : > unhashable type: 'list', given up without retries > Failed to process 1 rows; failed rows written to kv_table1.err > Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s > 1 rows imported from 1 files in 0.420 seconds (0 skipped). > {code} > But it works fine for Map<String, Set<String>>. > {code} > CREATE TABLE table2 ( > col1 int PRIMARY KEY, > col2map map<text, frozen<set<text>>> > ); > insert into table2 (col1, col2map) values (1, {'key': {'value1'}}); > cqlsh:ks> copy table2 to 'table2.csv'; > table2.csv file content: > 1,{'key': {'value1'}} > cqlsh:ks> copy table2 from 'table2.csv'; > Processed: 1 rows; Rate: 2 rows/s; Avg. rate: 2 rows/s > 1 rows imported from 1 files in 0.417 seconds (0 skipped). > {code} > The exception seems to arrive in _convert_map_ function in _ImportConversion_ > class inside _copyutil.py_. -- This message was sent by Atlassian JIRA (v6.3.15#6346)