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

DataChecksum calculate checksum is contented on hashtable synchronization

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.0, 3.1.1
    • Fix Version/s: 3.2.0, 3.1.1, 3.0.4
    • Component/s: common
    • Labels:
      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 1.45.06 AM.png
          874 kB
          Prasanth Jayachandran
        2. HADOOP-15598.1.patch
          0.9 kB
          Prasanth Jayachandran
        3. Screen Shot 2018-07-11 at 2.01.54 AM.png
          887 kB
          Prasanth Jayachandran
        4. HADOOP-15598.1.patch
          0.9 kB
          Steve Loughran
        5. hadoop-sync-contention.svg
          280 kB
          Prasanth Jayachandran

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: