Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-11445 HBase support Phase II
  3. HDDS-10631

Any open key rename should ideally be blocked

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      Currently only hsync'ed open key rename will be blocked with the check:

            if (fromKeyFileStatus.getKeyInfo().isHsync()) {
              throw new OMException("Open file cannot be renamed since it is " +
                  "hsync'ed: volumeName=" + volumeName + ", bucketName=" +
                  bucketName + ", key=" + fromKeyName, RENAME_OPEN_FILE);
            }
      

      above snippet from https://github.com/apache/ozone/blob/cca6782d44a1417ac27897890eaac5cd097481de/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java#L129-L133

      But we should ideally block any open key rename because any writes after that will fail. And because of that, the delayed exception in subsequent write only makes debugging harder

      Research to be done:

      1. How are directory renames done in FSO buckets? Would this make it slower since it might be required to scan the whole openKeyTable (openFileTable) for that?

      Note:

      1. This would no longer be needed if/when Ozone supports writes after renames (i.e. client no longer rely on key path, but use something other identifiers such as key object ID / inode
      ID)

      Attachments

        Activity

          People

            Unassigned Unassigned
            smeng Siyao Meng
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: