You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2015/01/29 02:10:35 UTC

[jira] [Updated] (HADOOP-11494) Lock acquisition on WrappedInputStream#unwrappedRpcBuffer may race with another thread

     [ https://issues.apache.org/jira/browse/HADOOP-11494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HADOOP-11494:
----------------------------
    Attachment: hadoop-11494-001.patch

Please take a look at patch v1 which synchronizes on an Object instead of the ByteBuffer

> Lock acquisition on WrappedInputStream#unwrappedRpcBuffer may race with another thread
> --------------------------------------------------------------------------------------
>
>                 Key: HADOOP-11494
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11494
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Priority: Minor
>         Attachments: hadoop-11494-001.patch
>
>
> In SaslRpcClient, starting at line 576:
> {code}
>     public int read(byte[] buf, int off, int len) throws IOException {
>       synchronized(unwrappedRpcBuffer) {
>         // fill the buffer with the next RPC message
>         if (unwrappedRpcBuffer.remaining() == 0) {
>           readNextRpcPacket();
>         }
> {code}
> readNextRpcPacket() may assign another ByteBuffer to unwrappedRpcBuffer, making the lock on previous ByteBuffer not useful.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)