incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gasol Wu <gasol...@gmail.com>
Subject Re: AttributeError: 'str' object has no attribute 'write'
Date Mon, 20 Jul 2009 02:22:05 GMT
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
>
>
>
>

Mime
View raw message