You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ryan McGuire (JIRA)" <ji...@apache.org> on 2013/08/06 19:00:49 UTC

[jira] [Created] (CASSANDRA-5852) json2sstable breaks on data exported from sstable2json.

Ryan McGuire created CASSANDRA-5852:
---------------------------------------

             Summary: json2sstable breaks on data exported from sstable2json.
                 Key: CASSANDRA-5852
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5852
             Project: Cassandra
          Issue Type: Bug
          Components: Tools
    Affects Versions: 1.2.4, 2.0 rc1, 1.2.9
            Reporter: Ryan McGuire
         Attachments: r.json

Attached is a JSON formatted sstable generated by sstable2json.

This file cannot be loaded back into Cassandra via json2sstable; it outputs this error:

{code}
Counting keys to import, please wait... (NOTE: to skip this use -n <num_keys>)
Importing 16 keys...
java.lang.NumberFormatException: Non-hex characters in value6
	at org.apache.cassandra.utils.Hex.hexToBytes(Hex.java:60)
	at org.apache.cassandra.utils.ByteBufferUtil.hexToBytes(ByteBufferUtil.java:503)
	at org.apache.cassandra.tools.SSTableImport.stringAsType(SSTableImport.java:578)
	at org.apache.cassandra.tools.SSTableImport.access$000(SSTableImport.java:59)
	at org.apache.cassandra.tools.SSTableImport$JsonColumn.<init>(SSTableImport.java:154)
	at org.apache.cassandra.tools.SSTableImport.addColumnsToCF(SSTableImport.java:231)
	at org.apache.cassandra.tools.SSTableImport.addToStandardCF(SSTableImport.java:214)
	at org.apache.cassandra.tools.SSTableImport.importSorted(SSTableImport.java:432)
	at org.apache.cassandra.tools.SSTableImport.importJson(SSTableImport.java:319)
	at org.apache.cassandra.tools.SSTableImport.main(SSTableImport.java:543)
ERROR: Non-hex characters in value6
{code}

Steps to reproduce:

{code}
$ ccm create -v git:trunk test-json-import
Fetching Cassandra updates...
Current cluster is now: test-json-import
$ ccm populate -n 1
$ ccm start
$ ccm node1 cqlsh
Connected to test-json-import at 127.0.0.1:9160.
[cqlsh 4.0.0 | Cassandra 2.0.0-rc1-SNAPSHOT | CQL spec 3.1.0 | Thrift protocol 19.37.0]
Use HELP for help.
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
cqlsh> CREATE TABLE test.test (key varchar PRIMARY KEY, value varchar);
cqlsh> INSERT INTO test.test (key, value) VALUES ('ryan', 'ryan');
cqlsh> 
$ ccm node1 flush
$ ccm stop
$ ~/.ccm/test-json-import/node1/bin/json2sstable -s -K test -c test ~/Downloads/import_error/r.json ~/.ccm/test-json-import/node1/data/test/test/test-test-ja-1-Data.db 
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira