Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-7285 Erasure Coding Support inside HDFS
  3. HDFS-8189

ClientProtocol#createErasureCodingZone API was wrongly annotated as Idempotent

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • HDFS-7285
    • namenode
    • None
    • Reviewed

    Description

      Currently createErasureCodingZone was annotated as Idempotent
      But it should be annotated as @AtMostOnce as we handle retries via retryCache.

       @Idempotent
        public void createErasureCodingZone(String src, ECSchema schema)
            throws IOException;
      

      It will fail to create Zone if its already a zone. So, simply we can not retry by ignoring previous call success. So, we were using retryCache already for handling this situation.

       if (getECSchema(srcIIP) != null) {
            throw new IOException("Directory " + src + " is already in an " +
                "erasure coding zone.");
          }
      

      Attachments

        1. HDFS-8189-01.patch
          1 kB
          Vinayakumar B

        Activity

          People

            vinayakumarb Vinayakumar B
            umamaheswararao Uma Maheswara Rao G
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: