[ 
https://issues.apache.org/jira/browse/CASSANDRA-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis resolved CASSANDRA-2726.
---------------------------------------

    Resolution: Invalid

You should be using Hector, not raw Thrift. If you must use raw Thrift, look at 
the cli source (CliClient.java) for examples, including supercolumn insertion.

> Cannot add a super column with Thrift
> -------------------------------------
>
>                 Key: CASSANDRA-2726
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2726
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 0.7.6
>            Reporter: Markus Wiesenbacher
>
> Hi,
> I have an existing SuperColumnFamily with a existing Super Column (named 
> "SUB1"). Now I want to add another Super Column "SUB2" to my also existing 
> key, but it doesn´t work without throwing an exception.
> I am using this method
>                         
>                         client.set_keyspace(keyspace);
>                       ColumnParent cp = new ColumnParent(column_family);
>                       
> cp.setSuper_column(ByteBuffer.wrap(superRowKey.getBytes(Helper.encoding)));
>                       
>                       ByteBuffer column_value = ByteBuffer.allocate(0);
>                       if (colValue != null)
>                               column_value = 
> ByteBuffer.wrap(colValue.getBytes(Helper.encoding));
>                       client.insert(
>                                       
> ByteBuffer.wrap(rowKey.getBytes(Helper.encoding)),
>                                       cp,
>                                       new 
> Column(ByteBuffer.wrap(colName.getBytes(Helper.encoding)), column_value, 
> System.currentTimeMillis()),
>                                       ConsistencyLevel.ONE);
> and also tried this
>                 client.set_keyspace(keyspace);
>               List<Column> columns = new ArrayList<Column>();
>               columns.add(new 
> Column(ByteBuffer.wrap(colName.getBytes(Helper.encoding)), 
> ByteBuffer.wrap(colValue.getBytes(Helper.encoding)), 
> System.currentTimeMillis()));
>               SuperColumn superColumn = new 
> SuperColumn(ByteBuffer.wrap(rowKey.getBytes("UTF-8")), columns);
>               ColumnOrSuperColumn columnOrSuperColumn = new 
> ColumnOrSuperColumn();
>               columnOrSuperColumn.setSuper_column(superColumn);
>               Mutation mutation = new Mutation();
>               mutation.setColumn_or_supercolumn(columnOrSuperColumn);
>               
>               Map<ByteBuffer, Map<String, List<Mutation>>> muts = new 
> HashMap<ByteBuffer, Map<String,List<Mutation>>>();
>               Map<String, List<Mutation>> mut = new HashMap<String, 
> List<Mutation>>();
>               List<Mutation> mu = new ArrayList<Mutation>();
>               mu.add(mutation);
>               mut.put(column_family, mu);
>               
> muts.put(ByteBuffer.wrap(key_SuperColumn.getBytes(Helper.encoding)), mut);
>               
>               client.batch_mutate(muts, ConsistencyLevel.ONE);
> The methods are called this way:
> insert("Keyspace", "SuperCF", "ROW1", "SUB1", "COL1", "VAL1");
> insert("Keyspace", "SuperCF", "ROW1", "SUB2", "COL1", "VAL1");
> Both don´t work and I assume it´s a bug. No exception is thrown, the new 
> super column just don´t appear.
> Best regards
> Markus

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to