@Aaron: Thanks for your quick response.
Let me look into that and see.. Thanks On Tue, May 27, 2014 at 8:07 PM, Aaron Mefford <[email protected]> wrote: > Have you verified that the Protocol and Transport on each end are the same? > Are you using a client with the same generated stubs, or is the client in > another language? > > It looks like the server was expecting to read more bytes than it was sent. > This would seem to point to some difference in expectations between the > client and the server. For instance, if the client were using the compact > binary protocol it would be sending fewer bytes than would be expected by > the standard binary protocol. > > I am by no means an expert in Thrift or PHP but wanted to offer my > observations in case they happen to help you find your problem. > > > On 5/27/14, 11:00 AM, Phillip Simbwa wrote: >> >> Greetings, >> >> I think the thrift-0.9.1 php libs have a bug somewhere. I seem to get >> this when I try to read the returned values from a client RPC call. >> >> >> 2014/05/27 18:56:54 [error] 8129#0: *9 FastCGI sent in stderr: "PHP >> message: PHP Fatal error: Uncaught exception >> 'Thrift\Exception\TTransportException' with message 'TSocket: timed >> out reading 4 bytes from localhost:9090' in >> /usr/local/src/thrift-0.9.1/lib/php/lib/Thrift/Transport/TSocket.php:274 >> Stack trace: >> #0 >> /usr/local/src/thrift-0.9.1/lib/php/lib/Thrift/Transport/TTransport.php(74): >> Thrift\Transport\TSocket->read(4) >> #1 >> /usr/local/src/thrift-0.9.1/lib/php/lib/Thrift/Transport/TBufferedTransport.php(113): >> Thrift\Transport\TTransport->readAll(4) >> #2 >> /usr/local/src/thrift-0.9.1/lib/php/lib/Thrift/Protocol/TBinaryProtocol.php(305): >> Thrift\Transport\TBufferedTransport->readAll(4) >> #3 >> /usr/local/src/thrift-0.9.1/lib/php/lib/Thrift/Protocol/TBinaryProtocol.php(197): >> Thrift\Protocol\TBinaryProtocol->readI32(NULL) >> #4 /srv/www/vhosts/async/lib/v1/php/gen-php/wiadSysAPIv1.php(114): >> Thrift\Protocol\TBinaryProtocol->readMessageBegin(NULL, 0, 0) >> #5 /srv/www/vhosts/async/lib/v1/php/gen-php/wiadSysAPIv1.php(82): >> wiadSysAPIv1Client->recv_createUser() >> >> >> And my .thrift file looks like this: >> >> struct useraccount { >> 1:i64 uid, >> 2:string owner, >> 3:string email, >> 4:string passwd, >> 5:i32 enabled, >> 6:i32 deleted, >> 7:i32 gid, >> 8:string creator >> } >> >> struct auditf { >> 1:string schema, >> 2:string table, >> 3:i64 uid, >> 4:i64 gid, >> 5:string account, >> 6:string ip, >> 7:string qtype, >> 8:string vafter, >> 9:string vbefore, >> 10:string detail >> } >> >> service wiadSysAPIv1 { >> i32 ping(), >> string createUser(1:auditf af, 2:useraccount u) >> } >> >> >> Can someone advise on how I can get around this? >> >> > -- - Phillip. "Aoccdrnig to rscheearch at an Elingsh uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer are in the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae we do not raed ervey lteter by it slef but the wrod as a wlohe and the biran fguiers it out aynawy."
