Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-1052 HDFS scalability with multiple namenodes
  3. HDFS-1720

Federation: FSVolumeSet volumes is not synchronized correctly

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Federation Branch
    • Federation Branch
    • datanode
    • None
    • Reviewed

    Description

      Currently FSVolumeSet#volumes is package private and is exposed to outside classes:

      1. Only some methods (such as FSVolumeSet#checkDirs()) are synchronized on FSVolumeSet.this. This method changes the
        content of the array (sets volumes with errors to null).
      2. Some access to volumes are synchronized by FSDataset.this. Some access are not synchronized at all.

      I propose making FSVolumeSet#unmodifiable list. This prevents accidental mutation from outside the class. The volumes
      also are created anew when modifications are made.

      Attachments

        1. HDFS-1720.patch
          18 kB
          Suresh Srinivas
        2. HDFS-1720.1.patch
          17 kB
          Suresh Srinivas

        Activity

          People

            sureshms Suresh Srinivas
            sureshms Suresh Srinivas
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: