You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Ewan Higgs (JIRA)" <ji...@apache.org> on 2016/08/12 15:28:20 UTC

[jira] [Created] (HDFS-10759) Change fsimage bool isStriped from boolean to an enum

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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org