Hi Hadoop developers,
Trying to do some quick tests with erasure coding feature and ran into a issue on adding policies. The example on adding erasure code policies with provided template failed:
./bin/hdfs ec -addPolicies -policyFile /tmp/user_ec_policies.xml.template
2019-07-30 10:35:16,447 INFO util.ECPolicyLoader: Loading EC policy file /tmp/user_ec_policies.xml.template
Add ErasureCodingPolicy XOR-2-1-128k succeed.
Add ErasureCodingPolicy RS-LEGACY-12-4-256k failed and error message is Codec name RS-legacy is not supported
The issue seems due to be the mismatching codec(upper case vs lower case). The codec is in upper case in the example template while all available codecs are lower case. A way to fix maybe just converting the codec to lower case when parsing the policy schema. Also attached a simple patch here.