scylladb / scylla-tools-java

Apache Cassandra, supplying tools for Scylla
Apache License 2.0
53 stars 85 forks source link

BEGINTOKEN or ENDTOKEN equal to 0 confuses range function #133

Open tarzanek opened 4 years ago

tarzanek commented 4 years ago

If you export a token range from any table using BEGINTOKEN or ENDTOKEN equal to 0, that boundary is ignored. It seems the issue is with the make_range() function, where begin_token and end_token treat 0 and null the same. [L697] if begin_token: [L703] if end_token: https://github.com/scylladb/scylla-tools-java/blob/master/pylib/cqlshlib/copyutil.py#L691

tarzanek commented 4 years ago

so basically reproduction steps: COPY foo.bar(record_type, record_id, value) TO '/xref/xref_2.csv' WITH NUMPROCESSES=4 AND MAXOUTPUTSIZE=500000 AND BEGINTOKEN=-4611686018427387904 AND ENDTOKEN=0;

and similar the other way around : [3] COPY foo.bar (record_type, record_id, value) TO '/xref/xref_3.csv' WITH NUMPROCESSES=4 AND MAXOUTPUTSIZE=500000 AND BEGINTOKEN=0 AND ENDTOKEN=4611686018427387904;