Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-401

ClientRMService.getQueueInfo can return stale application reports

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • 2.0.2-alpha, 0.23.6
    • None
    • resourcemanager
    • None

    Description

      ClientRMService.getQueueInfo is modifying a QueueInfo object when application reports are requested. Unfortunately this QueueInfo object could be a persisting object in the scheduler, and modifying it in this way can lead to stale application reports being returned to the client. Here's an example scenario with CapacityScheduler:

      1. A client asks for queue info on queue X with application reports
      2. ClientRMService.getQueueInfo modifies the queue's QueueInfo object and sets application reports on it
      3. Another client asks for recursive queue info from the root queue without application reports
      4. Since the old application reports are still attached to queue X's QueueInfo object, these stale reports appear in the QueueInfo data for queue X in the results

      Normally if the client is not asking for application reports it won't be looking for and act upon any application reports that happen to appear in the queue info result. However we shouldn't be returning application reports in the first place, and when we do, they shouldn't be stale.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jlowe Jason Darrell Lowe
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: