Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-11428

Change setErasureCodingPolicy to take a required string EC policy name

    XMLWordPrintableJSON

Details

    • Incompatible change
    • {{HdfsAdmin#setErasureCodingPolicy}} now takes a String {{ecPolicyName}} rather than an ErasureCodingPolicy object. The corresponding RPC's wire format has also been modified.

    Description

      The current setErasureCodingPolicy API takes an optional ECPolicy. This makes calling the API harder for clients, since they need to turn a specified name into a policy, and the set of available EC policies is only available on the NN.

      You can see this awkwardness in the current EC cli set command: it first fetches the list of EC policies, looks for the one specified by the user, then calls set. This means we need to issue two RPCs for every set (inefficient), and we need to do validation on the NN side anyway (extraneous work).

      Since we're phasing out the system default EC policy, it also makes sense to make the policy a required parameter.

      Attachments

        1. HDFS-11428.001.patch
          36 kB
          Andrew Wang
        2. HDFS-11428.002.patch
          36 kB
          Andrew Wang
        3. HDFS-11428.003.patch
          65 kB
          Andrew Wang
        4. HDFS-11428.004.patch
          65 kB
          Andrew Wang
        5. HDFS-11428.005.patch
          66 kB
          Andrew Wang

        Activity

          People

            andrew.wang Andrew Wang
            andrew.wang Andrew Wang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: