[ 
https://issues.apache.org/jira/browse/HDFS-4985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13745485#comment-13745485
 ] 

Tsz Wo (Nicholas), SZE commented on HDFS-4985:
----------------------------------------------

- Do we really need enum StorageType as a public API in Common?  I think it is 
better to start defining it as a private API in HDFS.  StorageTypeProto is also 
in HDFS.  We already have DatanodeStorage.State.  How about adding the new enum 
as DatanodeStorage.Type?

- StorageType and StorageTypeProto do not match - StorageType has DISK, SSD and 
DEFAULT but StorageTypeProto has UNKNOWN, DISK and SSD.  Also the numeric 
values do not match, e.g. StorageType.DISK is 0 but StorageTypeProto.DISK is 1.

- StorageType.DEFAULT should be defined as static, i.e.
{code}
@InterfaceStability.Evolving
public enum StorageType {
  DISK(0),
  SSD(1);

  public static StorageType DEFAULT = DISK;
  ...
}
{code}
                
> Add storage type to the protocol and expose it in block report and block 
> locations
> ----------------------------------------------------------------------------------
>
>                 Key: HDFS-4985
>                 URL: https://issues.apache.org/jira/browse/HDFS-4985
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>    Affects Versions: 3.0.0
>            Reporter: Suresh Srinivas
>            Assignee: Arpit Agarwal
>         Attachments: h4985.02.patch
>
>
> With HDFS-2880 datanode now supports storage abstraction. This is to add 
> storage type in to the protocol. Datanodes currently report blocks per 
> storage. Storage would include storage type attribute. Namenode also exposes 
> the storage type of a block in block locations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to