XMLWordPrintableJSON

Details

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

    Description

      NameNode supports dynamically change ErasureCodingPolicy, so these ErasureCodingPolicies should be protected by one lock, the current implementation uses the global lock.

       

      ErasureCodingPolicy mainly involves directory tree and edits logs, such as:

      • getErasureCodingPolicy(String src)
      • setErasureCodingPolicy(String src, String ecPolicyName)
      • addErasureCodingPolicies(ErasureCodingPolicy[] policies)
      • disableErasureCodingPolicy(String ecPolicyName)
      • enableErasureCodingPolicy(String ecPolicyName)

      So we can use the FSLock to make these operations thread safe.

      Another reason why we use the FSLock to protect ErasureCodingPolicy related operations is that we use FSLock to make edit write operations thread safe. 

      Attachments

        Issue Links

          Activity

            People

              xuzq_zander ZanderXu
              xuzq_zander ZanderXu
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: