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

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

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 0.23.0
    • 0.23.2
    • datanode
    • 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.

      Attachments

        1. HDFS-2931.patch
          1.0 kB
          Harsh J

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            qwertymaniac Harsh J
            qwertymaniac Harsh J
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment