[ 
https://issues.apache.org/jira/browse/HDFS-8249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated HDFS-8249:
--------------------------------------
    Hadoop Flags: Reviewed

+1 patch looks good.

> Separate HdfsConstants into the client and the server side class
> ----------------------------------------------------------------
>
>                 Key: HDFS-8249
>                 URL: https://issues.apache.org/jira/browse/HDFS-8249
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>         Attachments: HDFS-8249.000.patch, HDFS-8249.001.patch, 
> HDFS-8249.002.patch, HDFS-8249.003.patch, HDFS-8249.004.patch
>
>
> The constants in {{HdfsConstants}} are used by both the client side and the 
> server side. There are two types of constants in the class:
> 1. Constants that are used internally by the servers or not part of the APIs. 
> These constants are free to evolve without breaking compatibilities. For 
> example, {{MAX_PATH_LENGTH}} is used by the NN to enforce the length of the 
> path does not go too long. Developers are free to change the name of the 
> constants and to move it around if necessary.
> 1. Constants that are used by the clients, but not parts of the APIs. For 
> example, {{QUOTA_DONT_SET}} represents an unlimited quota. The value is part 
> of the wire protocol but the value is not. Developers are free to rename the 
> constants but are not allowed to change the value of the constants.
> 1. Constants that are parts of the APIs. For example, {{SafeModeAction}} is 
> used in {{DistributedFileSystem}}. Changing the name / value of the constant 
> will break binary compatibility, but not source code compatibility.
> This jira proposes to separate the above three types of constants into 
> different classes:
> * Creating a new class {{HdfsConstantsServer}} to hold the first type of 
> constants.
> * Move {{HdfsConstants}} into the {{hdfs-client}} package. The work of 
> separating the second and the third types of constants will be postponed in a 
> separate jira.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to