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

HDFS snapshots doesn't capture all open files when one of the open files is deleted

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-alpha1
    • Fix Version/s: 2.9.0, 3.0.0-beta1
    • Component/s: snapshots
    • Labels:
      None

      Description

      With the fix for HDFS-11402, HDFS Snapshots can additionally capture all the open files. Just like all other files, these open files in the snapshots will remain immutable. But, sometimes it is found that snapshots fail to capture all the open files in the system.

      Under the following conditions, LeaseManager will fail to find INode corresponding to an active lease

      • a file is opened for writing (LeaseManager allots a lease), and
      • the same file is deleted while it is still open for writing and having active lease, and
      • the same file is not referenced in any other Snapshots/Trash

      INode[] LeaseManager#getINodesWithLease() can thus return null for few leases there by causing the caller to trip over and not return all the open files needed by the snapshot manager.

        Attachments

        1. HDFS-12217.01.patch
          9 kB
          Manoj Govindassamy
        2. HDFS-12217.02.patch
          11 kB
          Manoj Govindassamy
        3. HDFS-12217.03.patch
          11 kB
          Manoj Govindassamy
        4. HDFS-12217.04.patch
          11 kB
          Manoj Govindassamy
        5. HDFS-12217.05.patch
          12 kB
          Manoj Govindassamy

          Issue Links

            Activity

              People

              • Assignee:
                manojg Manoj Govindassamy
                Reporter:
                manojg Manoj Govindassamy
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: