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

Minimize lock time in LeveldbTimelineStore.discardOldEntities

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • timelineserver, yarn
    • None

    Description

      In current implementation, LeveldbTimelineStore.discardOldEntities holds a writeLock on deleteLock, which will block other put operation, which eventually block the execution of YARN jobs(e.g. TEZ). When there is lots of history jobs in timelinestore, the block time will be very long. In our observation, it block all the TEZ jobs for several hours or longer.

      The possible solutions are:

      • Optimize leveldb configuration, so a full scan won't take long time.
      • Take a snapshot of leveldb, and scan the snapshot, so we only need to hold lock while getSnapshot. One question is that whether snapshot will take long time or not, cause I have no experience with leveldb.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              guoshiwei Shiwei Guo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: