Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-23751

QTest: Override #mkdirs() method in ProxyFileSystem To Align After HADOOP-16582

    XMLWordPrintableJSON

Details

    Description

      HADOOP-16582 have changed the way how mkdirs() work:

      Before HADOOP-16582:
      All calls to mkdirs(p) were fast-tracked to FileSystem.mkdirs which were then re-routed to mkdirs(p, permission) method. For ProxyFileSytem the call would look like

      FileUtiles.mkdir(p)  ----->  FileSystem.mkdirs(p) ---> ProxyFileSytem.mkdirs(p,permission)
      

      An implementation of FileSystem have only needed implement mkdirs(p, permission)

      After HADOOP-16582:

      Since FilterFileSystem overrides mkdirs(p) method the new call to ProxyFileSystem would look like

      FileUtiles.mkdir(p) ---> FilterFileSystem.mkdirs(p) -->
      

      This will make all the qtests fails with the below exception

      Caused by: java.lang.IllegalArgumentException: Wrong FS: pfile:/media/ebs1/workspace/hive-3.1-qtest/group/5/label/HiveQTest/hive-1.2.0/itests/qtest/target/warehouse/dest1, expected: file:///
      

      Note: We will hit this issue when we bump up hadoop version in hive.

      So as per the discussion in HADOOP-16963 ProxyFileSystem would need to override the mkdirs(p) method inorder to solve the above problem. So now the new flow would look like

      FileUtiles.mkdir(p)  ---->   ProxyFileSytem.mkdirs(p) ---> ProxyFileSytem.mkdirs(p, permission) --->
      

      Attachments

        1. HIVE-23751.01.patch
          0.7 kB
          Syed Shameerur Rahman

        Issue Links

          Activity

            People

              srahman Syed Shameerur Rahman
              srahman Syed Shameerur Rahman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m