Hi Ian,
http://issues.apache.org/jira/browse/CASSANDRA-139
1.regeneration python client
cd $CASSANDRA_HOME/interface
thrift --gen py cassandra.thrift
2.recompile cassandra
cd $CASSANDRA_HOME
ant
3.modify your code.
below is my php code that i changed.
old:
$client->insert($table, $i, 'Standard1:md5', md5($i), $time, $block);
new trunk:
$cp_md5 = new cassandra_ColumnPath(array('column_family' => 'Standard1',
'column' => 'md5'));
$client->insert($table, $i, $cp_md5, md5($i), $time, $block);
On Mon, Jul 20, 2009 at 7:46 AM, Ian Holsman <ian@holsman.net> wrote:
> hi Gasol.
> shouldn't regeneration of the interface be part of the build process?
>
>
> On 20/07/2009, at 3:29 AM, Gasol Wu wrote:
>
> hi,
>> the cassandra.thrift has changed.
>> u need to generate new python client and compile class again.
>>
>>
>> On Mon, Jul 20, 2009 at 1:18 AM, <mobiledreamers@gmail.com> wrote:
>> Hi guys
>> the new trunk cassandra doesnt work for a simple insert, how do we get
>> this working
>>
>> client.insert('Table1', 'tofu', 'Super1:Related:tofu
>> stew',pickle.dumps(dict(count=1)), time.time(), 0)
>>
>> ---------------------------------------------------------------------------
>> AttributeError Traceback (most recent call
>> last)
>>
>> /home/mark/work/cexperiments/<ipython console> in <module>()
>>
>> /home/mark/work/common/cassandra/Cassandra.py in insert(self, table, key,
>> column_path, value, timestamp, block_for)
>> 358 - block_for
>> 359 """
>> --> 360 self.send_insert(table, key, column_path, value, timestamp,
>> block_for)
>> 361 self.recv_insert()
>> 362
>>
>> /home/mark/work/common/cassandra/Cassandra.py in send_insert(self, table,
>> key, column_path, value, timestamp, block_for)
>> 370 args.timestamp = timestamp
>> 371 args.block_for = block_for
>> --> 372 args.write(self._oprot)
>> 373 self._oprot.writeMessageEnd()
>> 374 self._oprot.trans.flush()
>>
>> /home/mark/work/common/cassandra/Cassandra.py in write(self, oprot)
>> 1923 if self.column_path != None:
>> 1924 oprot.writeFieldBegin('column_path', TType.STRUCT, 3)
>> -> 1925 self.column_path.write(oprot)
>> 1926 oprot.writeFieldEnd()
>> 1927 if self.value != None:
>>
>> AttributeError: 'str' object has no attribute 'write'
>> In [4]: client.insert('Table1', 'tofu', 'Super1:Related:tofu
>> stew',pickle.dumps(dict(count=1)), time.time(), 0)
>>
>>
>> --
>> Bidegg worlds best auction site
>> http://bidegg.com
>>
>>
> --
> Ian Holsman
> Ian@Holsman.net
>
>
>
>
|