Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-2931

Switch the DataNode's BlockVolumeChoosingPolicy to be a private-audience interface

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.23.0
    • Fix Version/s: 0.23.2
    • Component/s: datanode
    • Labels:
    • Hadoop Flags:
      Reviewed

      Description

      From Nicholas, at the tail of HDFS-1120:

      However, if we annotate it as public, all the classes associated with them should also be annotated as public. Also, whenever we change the interface or any of the associated classes, it is an incompatible change.

      In our case, BlockVolumeChoosingPolicy uses FSVolumeInterface, which is a part of FSDatasetInterface. In FSDatasetInterface, there are many classes should not be exposed. One way to solve it is to make FSVolumeInterface independent of FSDatasetInterface. However, FSVolumeInterface is not yet a well-designed interface for the public.

      For these reasons, it is justified to annotate it as private, the same as BlockPlacementPolicy.

      We should switch BlockVolumeChoosingPolicy to for a private audience.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Harsh J
            Reporter:
            Harsh J
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development