Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-10804

Use separate lock for ReplicaMap

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Patch Available
    • Minor
    • Resolution: Unresolved
    • 3.0.0-beta1
    • None
    • hdfs
    • None
    • Add a private object for synchronization as default. This should be able to improve performance.

    Description

      In currently implementation, ReplicaMap takes an external lock for synchronization.

      In function FsDatasetImpl#FsDatasetImpl(), the object is for synchronization is the same lock object used by FsDatasetImpl routines.

      and in private FsDatasetImpl#addVolume(), the same lock is used for synchronization as well.

      ReplicaMap tempVolumeMap = new ReplicaMap(datasetLock);
      

      We can potentially eliminate the heavyweight lock for synchronizing ReplicaMap instances. If it's not necessary, this could reduce lock contention on the datasetLock object and improve performance.

      Could you please give me some suggestions? Thanks a lot!

      Fenghua

      Attachments

        1. HDFS-10804-003.patch
          2 kB
          Fenghua Hu
        2. HDFS-10804-002.patch
          2 kB
          Fenghua Hu
        3. HDFS-10804-001.patch
          2 kB
          Fenghua Hu

        Issue Links

          Activity

            People

              fenghua_hu Fenghua Hu
              fenghua_hu Fenghua Hu
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: