[
https://issues.apache.org/jira/browse/THRIFT-638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13001568#comment-13001568
]
Tyler Hobbs commented on THRIFT-638:
------------------------------------
Without the patch from THRIFT-867, I still see 'TSocket: Could not read 4
bytes' immediately. (Note that I also ran tests without the C extension at all
and experienced the occasional 'Could not read 4 bytes' behavior.)
I was not using a timeout, but I tested again setting send and recv timeouts to
10000 (ten seconds), and behavior was the same. Cassandra isn't logging any
failure messages, and the test should be well below what Cassandra can handle
easily.
I'm not sure I could give you any more specifics to help reproduce other than
setting up an environment for you. Would an EC2 instance that's ready to go
with phpcassa be useful?
I'm glad PHP performance might finally be up to par!
> BufferedTransport + C extensions block until recv timeout is reached on last
> fread call
> ---------------------------------------------------------------------------------------
>
> Key: THRIFT-638
> URL: https://issues.apache.org/jira/browse/THRIFT-638
> Project: Thrift
> Issue Type: Bug
> Components: PHP - Library
> Affects Versions: 0.2
> Reporter: Chris Goffinet
> Fix For: 0.7
>
> Attachments: 0001-Replace-freads-with-stream_socket_recvfrom.patch,
> 0002-tocket-read-meta-data-check.diff, thrift-tsocket-638-0002.patch,
> thrift-tsocket-638-0003.patch, thrift-tsocket-638.patch
>
>
> I wanted to throw this out if any other folks experience this later on. At
> Digg we've been using the BufferedTransport + C extension of Thrift in PHP.
> Every so often, we will see spikes in latency increases on RPC calls that we
> know have acceptable response times (<200ms). This seems to happen based on
> how much data is being sent back over the wire. This is more of a PHP
> problem, but can be corrected in Thrift's PHP library for folks who don't
> want to upgrade PHP. I am still waiting to see if it's corrected in later
> versions (we use 5.2.9).
> http://bonsai.php.net/bug.php?id=42720
> Replacing the fread statements in TSocket.php with stream_socket_recvfrom
> correct this behavior so that calls do not wait until they hit the recv
> timeout.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira