thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Giorgi Grigalashvili (Jira)" <>
Subject [jira] [Commented] (THRIFT-4890) AttributeError: 'Connection' object has no attribute 'message'
Date Wed, 03 Jun 2020 11:25:00 GMT


Giorgi Grigalashvili commented on THRIFT-4890:

Hi [~zeshuai007], 

Unfortunately I cannot follow up with this issue anymore, it's been almost a year ago and
I'm not working with the same project anymore. 

It could have been a problem with my configuration, though the solution James suggested worked
just fine as far as I remember. 

The struct I was working was a [polygon mesh|[]]
which had a lot of elements like points, triangles and RGB data inside.  I'll try to remember
and write down the structure of the object I was trying to move around and maybe it could
be helpful:

struct ThriftPoint3D {   
    1: required double x;   
    2: required double y;   
    3: required double z;

struct ThriftTriangleCell {    
    1: required i32 id1;    
    2: required i32 id2;    
    3: required i32 id3;

struct ThriftColor {    
    1: required i16 r;    
    2: required i16 g;    
    3: required i16 b;

typedef list<ThriftPoint3D> ThriftPointList
typedef list<ThriftColor> ThriftVertexColorList
typedef list<ThriftTriangleCell> ThriftTriangleCellList

// This was an object I was exchanging between server and client.
struct ThriftVertexColorMesh {    
    1: required ThriftPointList vertices;   
    2: optional ThriftVertexColorList rgb;    
    3: required ThriftTriangleCellList triangles;

Hope this helps.


> AttributeError: 'Connection' object has no attribute 'message'
> --------------------------------------------------------------
>                 Key: THRIFT-4890
>                 URL:
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>    Affects Versions: 0.12.0
>         Environment: Ubuntu Linux 18.10 64-bit
>            Reporter: Giorgi Grigalashvili
>            Priority: Major
>              Labels: Connection, Newbie, Python3, Question, non-blocking
> As part of my university research I'm using Thrift v0.12.0 to communicate between Python
server and Scala client. 
> The data my service is providing to client is lists of thrift objects/structs, those
lists contain ~1M items. The issue bellow is produced if I'm sending full lists(more than
~60k items) of data, however if I decrease list items to ~60k everything works fine. 
> {code:java}
> Traceback (most recent call last): 
> File "", line 40, in <module> 
> server.serve() 
> File "thrift/server/", line 370, in serve 
> self.handle() 
> File "thrift/server/", line 350, in handle 
> self.clients[writeable].write() 
> File "thrift/server/", line 88, in read 
> return func(self, *args, **kwargs) 
> File "thrift/server/", line 177, in write 
> self._wbuf = self.message[sent:] 
> AttributeError: 'Connection' object has no attribute 'message'
> {code}
> This is my server configuration:
> {code:java}
> ip = ''
> port = '9000'
> handler = MyHandler()
> processor = MyService.Processor(handler)
> transport = TSocket.TServerSocket(host=ip, port=port)
> tfactory = TBinaryProtocol.TBinaryProtocolFactory()
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TNonblockingServer.TNonblockingServer(processor, transport, tfactory, pfactory)
> server.serve()
> {code}
> Now my question is as follows, am I doing something wrong or could it be that it's an
issue from Thrift? Any ideas how can I resolve this problem or what I could be doing wrong?
> Thanks in advance.

This message was sent by Atlassian Jira

View raw message