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

        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.
        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!
        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.
        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(..).
        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.

          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