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

Colin Patrick McCabe commented on HDFS-5781:
--------------------------------------------

I agree that using {{Enum#values}} directly is not the right thing here.  It 
might make backports difficult, as you commented.

How about just using an array that might contain some nulls?  A hash map looks 
like overkill because there aren't that many entries, and they key numbers are 
all close together.

> Use a map to record the mapping between FSEditLogOpCode and the corresponding 
> byte value
> ----------------------------------------------------------------------------------------
>
>                 Key: HDFS-5781
>                 URL: https://issues.apache.org/jira/browse/HDFS-5781
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode
>    Affects Versions: 2.4.0
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>         Attachments: HDFS-5781.000.patch
>
>
> HDFS-5674 uses Enum.values and enum.ordinal to identify an editlog op for a 
> given byte value. While improving the efficiency, it may cause issue. E.g., 
> when several new editlog ops are added to trunk around the same time (for 
> several different new features), it is hard to backport the editlog ops with 
> larger byte values to branch-2 before those with smaller values, since there 
> will be gaps in the byte values of the enum. 
> This jira plans to still use a map to record the mapping between editlog ops 
> and their byte values. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to