Unsubscribe Sent from my iPhone
On 30.3.2011, at 22.39, William Oberman <ober...@civicscience.com> wrote: > Well, I'll wait for the next official release then. Sorry for the confusion! > > On Wed, Mar 30, 2011 at 3:31 PM, Tyler Hobbs <ty...@datastax.com> wrote: > Actually, it looks like you're probably looking at the bundled Thrift in > phpcassa 0.7.a.3. This issue is fixed in Thrift trunk and the phpcassa > master branch. > > On Wed, Mar 30, 2011 at 2:28 PM, Tyler Hobbs <ty...@datastax.com> wrote: > Are you looking at Thrift trunk, the thrift package that ships with phpcassa > 0.7.a.3, or the phpcassa master branch? > > > On Wed, Mar 30, 2011 at 2:26 PM, William Oberman <ober...@civicscience.com> > wrote: > Nevermind, the header of the file says it's an apache project, so I'll > contact them. Though, if anyone else is running PHP and is worried about > dropped connections thrashing their server, apply this patch :-) > > > On Wed, Mar 30, 2011 at 3:18 PM, William Oberman <ober...@civicscience.com> > wrote: > I think I found a bug in the cassandra PHP client. I'm using phpcassa, but > the bug is in thrift itself, which I think that library phpcassa just wraps. > In any case, I was trying to test on my local machine, which has limited RAM, > so I reduced the JVM heap size. Of course I immediately had an OOM causing > my local cassandra server to crash, but that caused my unit tests to stall at > 100% CPU, which seemed weird to me. I had to figure out why. It seems that > TSocket doesn't test for EOF (it's only checking for a socket timeout), > causing a tight infinite loop when the connection disappears. Checking for > EOF in an else if seems like an easy fix, but given how deep this code is in > the library I'll leave it to the experts. > > My diff of the file: > @@ -255,6 +255,9 @@ > if (true === $md['timed_out'] && false === $md['blocked']) { > throw new TTransportException('TSocket: timed out reading '.$len.' > bytes from '. > $this->host_.':'.$this->port_); > + } else if(feof($this->handle_)) { > + throw new TTransportException('TSocket: EOF reading '.$len.' > bytes from '. > + $this->host_.':'.$this->port_); > } else { > $pre .= $buf; > $len -= $sz; > > > -- > Will Oberman > Civic Science, Inc. > 3030 Penn Avenue., First Floor > Pittsburgh, PA 15201 > (M) 412-480-7835 > (E) ober...@civicscience.com > > > > -- > Will Oberman > Civic Science, Inc. > 3030 Penn Avenue., First Floor > Pittsburgh, PA 15201 > (M) 412-480-7835 > (E) ober...@civicscience.com > > > > -- > Tyler Hobbs > Software Engineer, DataStax > Maintainer of the pycassa Cassandra Python client library > > > > > -- > Tyler Hobbs > Software Engineer, DataStax > Maintainer of the pycassa Cassandra Python client library > > > > > -- > Will Oberman > Civic Science, Inc. > 3030 Penn Avenue., First Floor > Pittsburgh, PA 15201 > (M) 412-480-7835 > (E) ober...@civicscience.com