You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (Jira)" <ji...@apache.org> on 2021/01/04 21:00:00 UTC

[jira] [Comment Edited] (CASSANDRA-16372) Import from csv of empty strings in list fails with a ParseError: Empty values are not allowed, given up without retries

    [ https://issues.apache.org/jira/browse/CASSANDRA-16372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17258492#comment-17258492 ] 

Brandon Williams edited comment on CASSANDRA-16372 at 1/4/21, 8:59 PM:
-----------------------------------------------------------------------

Also note that the summary at the end is completely wrong and does not count the skip.


was (Author: brandon.williams):
Repros against 3.11 head. Also note that the summary at the end is completely wrong and does not count the skip.

> Import from csv of empty strings in list fails with a ParseError: Empty values are not allowed,  given up without retries
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-16372
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16372
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tool/cqlsh
>            Reporter: Ostico
>            Priority: Normal
>             Fix For: 3.11.10, 4.0-rc
>
>
>  
> Cqlsh fail to import an empty string which is present in a list data type.
> {color:#ff0000}_In those conditions, simple csv backups can discard rows and data can be corrupted._{color}
>  
> *Conditions*
>  
> {code:java}
> # cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.11.6 | CQL spec 3.4.4 | Native protocol v4]
> Use HELP for help.
> CREATE TABLE test.test_1 (
>     uid uuid PRIMARY KEY,
>     texts list<text>
> );
> insert into test.test_1 ( uid, texts ) VALUES( 833fee3f-d4f9-418b-9387-84ac2cda5cb7, ['But if you now try to wash your hands,', ''] );
> {code}
>  
> Now exporting and and re-importing data fails:
>  
> {code:java}
> cqlsh> select * from test.test_1;
>  uid                                  | texts
> --------------------------------------+------------------------------------------------
>  833fee3f-d4f9-418b-9387-84ac2cda5cb7 | ['But if you now try to wash your hands,', '']
> cqlsh> COPY test.test_1 (uid, texts) TO 'ctm.csv'; 
> Using 7 child processesStarting copy of test.test_1 with columns [uid, texts].
> Processed: 1 rows; Rate: 9 rows/s; Avg. rate: 9 rows/s 1 rows exported to 1 files in 0.148 seconds. 
> cqlsh> truncate table test.test_1;
> cqlsh> COPY test.test_1 (uid, texts) FROM 'ctm.csv';
> Using 7 child processes
> Starting copy of test.test_1 with columns [uid, texts].
> Failed to import 1 rows: ParseError - Failed to parse ['But if you now try to wash your hands,', ''] : Empty values are not allowed,  given up without retries
> Failed to process 1 rows; failed rows written to import_test_test_1.err
> Processed: 1 rows; Rate:       2 rows/s; Avg. rate:       2 rows/s
> 1 rows imported from 1 files in 0.415 seconds (0 skipped).
> cqlsh> select * from test.test_1; 
> uid  | pid
> -----+-----
> {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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