You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Markus Wiesenbacher (JIRA)" <ji...@apache.org> on 2011/05/31 23:15:08 UTC

[jira] [Created] (CASSANDRA-2726) Cannot add a super column with Thrift

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

[jira] [Resolved] (CASSANDRA-2726) Cannot add a super column with Thrift

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ 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