[ https://issues.apache.org/jira/browse/HDFS-12918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Manoj Govindassamy updated HDFS-12918: -------------------------------------- Summary: NameNode fails to start after upgrade - Missing state in ECPolicy Proto (was: EC Policy defaults incorrectly to enabled in protobufs) > NameNode fails to start after upgrade - Missing state in ECPolicy Proto > ------------------------------------------------------------------------ > > Key: HDFS-12918 > URL: https://issues.apache.org/jira/browse/HDFS-12918 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Zach Amsden > Assignee: Manoj Govindassamy > Priority: Critical > > According to documentation and code comments, the default setting for erasure > coding policy is disabled: > /** Policy is disabled. It's policy default state. */ > DISABLED(1), > However, HDFS-12258 appears to have incorrectly set the policy state in the > protobuf to enabled: > {code:java} > message ErasureCodingPolicyProto { > ooptional string name = 1; > optional ECSchemaProto schema = 2; > optional uint32 cellSize = 3; > required uint32 id = 4; // Actually a byte - only 8 bits used > + optional ErasureCodingPolicyState state = 5 [default = ENABLED]; > } > {code} > This means the parameter can't actually be optional, it must always be > included, and existing serialized data without this optional field will be > incorrectly interpreted as having erasure coding enabled. > This unnecessarily breaks compatibility and will require existing HDFS > installations that store metadata in protobufs to require reformatting. > It looks like a simple mistake that was overlooked in code review. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org