Syed Shameerur Rahman created HIVE-23751:
--------------------------------------------
Summary: QTest: Override #mkdirs() method in ProxyFileSystem To
Align After HADOOP-16582
Key: HIVE-23751
URL: https://issues.apache.org/jira/browse/HIVE-23751
Project: Hive
Issue Type: Task
Reporter: Syed Shameerur Rahman
Assignee: Syed Shameerur Rahman
Fix For: 4.0.0, 3.2.0
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
{code:java}
FileUtiles.mkdir(p) -----> FileSystem.mkdirs(p) --->
ProxyFileSytem.mkdirs(p,permission)
{code}
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
{code:java}
FileUtiles.mkdir(p) ---> FilterFileSystem.mkdirs(p) -->
{code}
This will make all the qtests fails with the below exception
{code:java}
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:///
{code}
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
{code:java}
FileUtiles.mkdir(p) ----> ProxyFileSytem.mkdirs(p) --->
ProxyFileSytem.mkdirs(p, permission) --->
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)