[ 
https://issues.apache.org/jira/browse/HADOOP-6221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797596#action_12797596
 ] 

Steve Loughran commented on HADOOP-6221:
----------------------------------------

the interrupt is being swallowed in {{Client.call())}}, which blocks until a 
call completes or times out
{code}
     while (!call.done) {
        try {
          call.wait();                           // wait for the result
        } catch (InterruptedException ie) {
          // save the fact that we were interrupted
          interrupted = true;
        }
      }

      if (interrupted) {
        // set the interrupt flag now that we are done waiting
        Thread.currentThread().interrupt();
      }
{code}

This means that the client thread is blocked until whichever thread is actually 
doing the RPC. {{Client.waitForWork()}} also swallows interrupts.

This will get complex fast. I think a good tactic would be rather than trying 
to make the old RPC stack interruptible, focus on making Avro something that 
you can interrupt, so that going forward you can interrupt client programs 
trying to talk to unresponsive servers.

> RPC.WaitForProxy swallows InterruptedException
> ----------------------------------------------
>
>                 Key: HADOOP-6221
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6221
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: HADOOP-6221.patch
>
>
> RPC.waitForProxy swallows any attempts to interrupt it while waiting for a 
> proxy; this makes it hard to shutdown a service that you are starting; you 
> have to wait for the timeouts. 
> There are only 4-5 places in the code that use either of the two overloaded 
> methods, removing the catch and changing the signature should not be too 
> painful, unless anyone is using the method outside the hadoop codebase. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to