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

Todd Lipcon commented on HADOOP-6762:
-------------------------------------

Hey Sam. Sorry, I misunderstood your point earlier. You're definitely right 
that interrupting one thread shouldn't take down the RPC connection.

Adding yet another thread to IPC seems a bit complicated, though. What about if 
we added a flag to Connection saying "no more sends on this connection", so 
that interrupting the sender did kill the connection but lets currently pending 
calls complete? Then when the queue has been quiesced the connection shuts down 
like it does today?

The issue I'm thinking is that we solve the interrupt problem, but don't solve 
the general case of exceptions during sendparam. The user can still have a 
Writable which eg throws an NPE, and we're back to the same problem of lack of 
isolation between writers.

> exception while doing RPC I/O closes channel
> --------------------------------------------
>
>                 Key: HADOOP-6762
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6762
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 0.20.2
>            Reporter: sam rash
>            Assignee: sam rash
>         Attachments: hadoop-6762-1.txt, hadoop-6762-2.txt, hadoop-6762-3.txt, 
> hadoop-6762-4.txt, hadoop-6762-6.txt
>
>
> If a single process creates two unique fileSystems to the same NN using 
> FileSystem.newInstance(), and one of them issues a close(), the leasechecker 
> thread is interrupted.  This interrupt races with the rpc namenode.renew() 
> and can cause a ClosedByInterruptException.  This closes the underlying 
> channel and the other filesystem, sharing the connection will get errors.

-- 
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