Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-15598

DataChecksum calculate checksum is contented on hashtable synchronization

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.2.0, 3.1.1
    • 3.2.0, 3.1.1, 3.0.4
    • common
    • None

    Description

      When profiling a multi-threaded hive streaming ingest, observed lock contention on java.util.Properties getProperty() to check if os.arch is "sparc". java.util.Properties internally uses HashTable. HashTable.get() is synchronized method. In the test application, on a 30s profile with 64 threads ~40% CPU time is spent on getProperty() contention. See attached snapshot.

      Attachments

        1. Screen Shot 2018-07-11 at 2.01.54 AM.png
          887 kB
          Prasanth Jayachandran
        2. Screen Shot 2018-07-11 at 1.45.06 AM.png
          874 kB
          Prasanth Jayachandran
        3. hadoop-sync-contention.svg
          280 kB
          Prasanth Jayachandran
        4. HADOOP-15598.1.patch
          0.9 kB
          Prasanth Jayachandran
        5. HADOOP-15598.1.patch
          0.9 kB
          Steve Loughran

        Issue Links

          Activity

            People

              prasanth_j Prasanth Jayachandran
              prasanth_j Prasanth Jayachandran
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: