incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: New cassandra in trunk - breaks python thrift interface (was AttributeError: 'str' object has no attribute 'write')
Date Mon, 20 Jul 2009 00:10:16 GMT
It works fine, it's just not the same as it was two weeks ago.

On Sun, Jul 19, 2009 at 3:36 PM, <mobiledreamers@gmail.com> wrote:
> ok
> so which is the version where cassandra python thrift works out of the box
> thanks
>
> On 7/19/09, Jonathan Ellis <jbellis@gmail.com> wrote:
>>
>> Don't run trunk if you're not going to read "svn log."
>>
>> The api changed with the commit of the 139 patches (and it will change
>> again with the 185 ones).
>>
>> look at interface/cassandra.thrift to see what arguments are expected.
>>
>>
>> On Sun, Jul 19, 2009 at 3:31 PM, <mobiledreamers@gmail.com> wrote:
>> > Hey Gasol wu
>> > i regenerated the new thrift interface using
>> > thrift -gen py cassandra.thrift
>> >
>> >
>> >
>> > 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'
>> >
>> >
>> > On Sun, Jul 19, 2009 at 10:29 AM, Gasol Wu <gasol.wu@gmail.com> 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
>> >>
>> >
>> >
>> >
>> > --
>> > Bidegg worlds best auction site
>> > http://bidegg.com
>> >
>
>
>
> --
> Bidegg worlds best auction site
> http://bidegg.com

Mime
View raw message