You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Ian Holsman <ia...@holsman.net> on 2009/07/20 01:45:02 UTC

Re: New cassandra in trunk - breaks python thrift interface (was AttributeError: 'str' object has no attribute 'write')

hi mobile.
is it possible to put these as JIRA bugs ? instead of just mailing  
them on the list ?

that way people can give them a bit more attention. and other people  
who have the same issue will be easily see what is going on.

the URL is here :- https://issues.apache.org/jira/browse/CASSANDRA
regards
Ian

On 20/07/2009, at 6:36 AM, 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 <jb...@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, <mo...@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 <ga...@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, <mo...@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

--
Ian Holsman
Ian@Holsman.net




Re: New cassandra in trunk - breaks python thrift interface (was AttributeError: 'str' object has no attribute 'write')

Posted by Jonathan Ellis <jb...@gmail.com>.
For the record, this is not actually a bug, and if you're not sure,
asking on the list before filing a report in JIRA is probably a good
thing.

On Sun, Jul 19, 2009 at 6:45 PM, Ian Holsman<ia...@holsman.net> wrote:
> hi mobile.
> is it possible to put these as JIRA bugs ? instead of just mailing them on
> the list ?
>
> that way people can give them a bit more attention. and other people who
> have the same issue will be easily see what is going on.
>
> the URL is here :- https://issues.apache.org/jira/browse/CASSANDRA
> regards
> Ian
>
> On 20/07/2009, at 6:36 AM, 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 <jb...@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, <mo...@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 <ga...@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, <mo...@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
>
> --
> Ian Holsman
> Ian@Holsman.net
>
>
>
>