Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-5329

APPLICATION_INIT is never sent to AuxServices other than the builtin ShuffleHandler



    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.0-beta, 2.0.6-alpha
    • 2.3.0
    • mr-am
    • None


      APPLICATION_INIT is never sent to AuxServices other than the built-in ShuffleHandler. This means that 3rd party ShuffleProvider(s) will not be able to function, because APPLICATION_INIT enables the AuxiliaryService to map jobId->userId. This is needed for properly finding the MOFs of a job per reducers' requests.

      NOTE: The built-in ShuffleHandler does get APPLICATION_INIT events due to hard-coded expression in hadoop code. The current TaskAttemptImpl.java code explicitly call: serviceData.put (ShuffleHandler.MAPREDUCE_SHUFFLE_SERVICEID, ...) and ignores any additional AuxiliaryService. As a result, only the built-in ShuffleHandler will get APPLICATION_INIT events. Any 3rd party AuxillaryService will never get APPLICATION_INIT events.

      I think a solution can be in one of two ways:
      1. Change TaskAttemptImpl.java to loop on all Auxiliary Services and register each of them, by calling serviceData.put (…) in loop.
      2. Change AuxServices.java similar to the fix in: MAPREDUCE-2668 "APPLICATION_STOP is never sent to AuxServices". This means that in case the 'handle' method gets APPLICATION_INIT event it will demultiplex it to all Aux Services regardless of the value in event.getServiceID().

      I prefer the 2nd solution. I am welcoming any ideas. I can provide the needed patch for any option that people like.

      See Pluggable Shuffle in Hadoop documentation


        1. MAPREDUCE-5329.patch
          13 kB
          Avner BenHanoch
        2. MAPREDUCE-5329.patch
          11 kB
          Avner BenHanoch
        3. MAPREDUCE-5329.patch
          11 kB
          Avner BenHanoch

        Issue Links



              avnerb Avner BenHanoch
              avnerb Avner BenHanoch
              0 Vote for this issue
              6 Start watching this issue