You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Anfernee Xu <an...@gmail.com> on 2014/11/03 08:00:05 UTC

Socket Reader Thread was crashed with Hadoop Writable engine, and client reached to the dead end

Hi experts,

I'm running with Hadoop 2.2.0,  I have a distributed application written
with Hadoop Writable and I'm pretty happy with it, pretty stable. But a few
days back, I ran into one strange issue, one client was stucking in talking
to one of the servers, the RPC was made in a background thread and I have a
timer to guard against timeout, the call was timeout as expected, then
another user made the same call to the same server, still timeout, after
some time, I found I ran out of threads for the threadpool which is used
for making the RPC call. Also I found the Hadoop RPC Socket Reader thread
was crashed for some reason(I cannot find it from JConsole) on the server
side. I also looked the code, I think below code is problematic.

org.apache.hadoop.ipc.Client.call method, around line#1336, as below

while (!call.done) {
try
{
     call.wait(); // wait for the result }
catch (InterruptedException ie)
{ // save the fact that we were interrupted

 interrupted = true; }

}

Looks like even I tried to interrupt the call, the client was still trying
to wait for the response, is this a bug?

Thanks

-- 
--Anfernee