Ewan Higgs created HDFS-10759:
---------------------------------

             Summary: Change fsimage bool isStriped from boolean to an enum
                 Key: HDFS-10759
                 URL: https://issues.apache.org/jira/browse/HDFS-10759
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs
    Affects Versions: 3.0.0-alpha1, 3.0.0-beta1, 3.0.0-alpha2
            Reporter: Ewan Higgs


The new erasure coding project has updated the protocol for fsimage such that 
the {{INodeFile}} has a boolean '{{isStriped}}'. I think this is better as an 
enum or integer since a boolean precludes any future block types. 

For example:

{code}
enum BlockType {
  CONTIGUOUS = 0,
  STRIPED = 1,
}
{code}
We can also make this more robust to future changes where there are different 
block types supported in a staged rollout.  Here, we would use 
{{UNKNOWN_BLOCK_TYPE}} as the first value since this is the default value. See 
[here|http://androiddevblog.com/protocol-buffers-pitfall-adding-enum-values/] 
for more discussion.

{code}
enum BlockType {
  UNKNOWN_BLOCK_TYPE = 0,
  CONTIGUOUS = 1,
  STRIPED = 2,
}
{code}

But I'm not convinced this is necessary since there are other enums that don't 
use this approach.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to