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 "Zach Amsden (JIRA)" <ji...@apache.org> on 2017/12/12 19:19:00 UTC
[jira] [Created] (HDFS-12918) EC Policy defaults incorrectly to
enabled in protobufs
Zach Amsden created HDFS-12918:
----------------------------------
Summary: EC Policy defaults incorrectly to enabled in protobufs
Key: HDFS-12918
URL: https://issues.apache.org/jira/browse/HDFS-12918
Project: Hadoop HDFS
Issue Type: Bug
Reporter: Zach Amsden
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-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org