Hadoop Common
  1. Hadoop Common
  2. HADOOP-9458

In branch-1, RPC.getProxy(..) may call proxy.getProtocolVersion(..) without retry

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.2.0
    • Component/s: ipc
    • Labels:
      None

      Description

      RPC.getProxy(..) may call proxy.getProtocolVersion(..) without retry even when client has specified retry in the conf.

      1. c9458_20130406.patch
        8 kB
        Tsz Wo Nicholas Sze

        Activity

        Matt Foley made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Hide
        Matt Foley added a comment -

        Closed upon release of Hadoop 1.2.0.

        Show
        Matt Foley added a comment - Closed upon release of Hadoop 1.2.0.
        Arun C Murthy made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.2.0 [ 12321659 ]
        Resolution Fixed [ 1 ]
        Hide
        Arun C Murthy added a comment -

        +1

        I just committed this, thanks Nic!

        Also, thanks to Arpit Gupta for verifying this!

        Show
        Arun C Murthy added a comment - +1 I just committed this, thanks Nic! Also, thanks to Arpit Gupta for verifying this!
        Arun C Murthy made changes -
        Priority Major [ 3 ] Critical [ 2 ]
        Hide
        Arpit Gupta added a comment -

        I applied this patch to my cluster and ran through the pig tests where within 5 seconds of the pig submission the job tracker was restarted. With this patch the tests passed consistently.

        Show
        Arpit Gupta added a comment - I applied this patch to my cluster and ran through the pig tests where within 5 seconds of the pig submission the job tracker was restarted. With this patch the tests passed consistently.
        Tsz Wo Nicholas Sze made changes -
        Attachment c9458_20130406.patch [ 12577368 ]
        Hide
        Tsz Wo Nicholas Sze added a comment -

        c9458_20130406.patch: adds a checkVersion parameter to RPC.getProxy(..).

        Show
        Tsz Wo Nicholas Sze added a comment - c9458_20130406.patch: adds a checkVersion parameter to RPC.getProxy(..).
        Tsz Wo Nicholas Sze made changes -
        Release Note Actually, the bug is not in rpc.Client.call(..) since it is not supposed to handle retry. The bug is in one of the RPC.getProxy(..) methods which calls proxy.getProtocolVersion(..). The retry handler is not yet set up at that point.

        Revised summary and description.
        Hide
        Tsz Wo Nicholas Sze added a comment -

        Actually, the bug is not in rpc.Client.call(..) since it is not supposed to handle retry. The bug is in one of the RPC.getProxy(..) methods which calls proxy.getProtocolVersion(..). The retry handler is not yet set up at that point.

        Revised summary and description.

        Show
        Tsz Wo Nicholas Sze added a comment - Actually, the bug is not in rpc.Client.call(..) since it is not supposed to handle retry. The bug is in one of the RPC.getProxy(..) methods which calls proxy.getProtocolVersion(..). The retry handler is not yet set up at that point. Revised summary and description.
        Tsz Wo Nicholas Sze made changes -
        Summary In branch-1, client may not retry in rpc.Client.call(..) In branch-1, RPC.getProxy(..) may call proxy.getProtocolVersion(..) without retry
        Release Note Actually, the bug is not in rpc.Client.call(..) since it is not supposed to handle retry. The bug is in one of the RPC.getProxy(..) methods which calls proxy.getProtocolVersion(..). The retry handler is not yet set up at that point.

        Revised summary and description.
        Description In ipc.Client.call(..) (around line 1097), the client does not retry if it could setup a connection (i.e. Connection connection = getConnection(remoteId, call)) to the server but fails afterward. RPC.getProxy(..) may call proxy.getProtocolVersion(..) without retry even when client has specified retry in the conf.
        Tsz Wo Nicholas Sze made changes -
        Field Original Value New Value
        Assignee Tsz Wo (Nicholas), SZE [ szetszwo ]
        Tsz Wo Nicholas Sze created issue -

          People

          • Assignee:
            Tsz Wo Nicholas Sze
            Reporter:
            Tsz Wo Nicholas Sze
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development