You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sahil Takiar (JIRA)" <ji...@apache.org> on 2016/12/08 00:25:58 UTC

[jira] [Created] (HIVE-15385) Failure to inherit permissions when running HdfsUtils.setFullFileStatus(..., false) causes queries to fail

Sahil Takiar created HIVE-15385:
-----------------------------------

             Summary: Failure to inherit permissions when running HdfsUtils.setFullFileStatus(..., false) causes queries to fail
                 Key: HIVE-15385
                 URL: https://issues.apache.org/jira/browse/HIVE-15385
             Project: Hive
          Issue Type: Bug
          Components: Hive
            Reporter: Sahil Takiar
            Assignee: Sahil Takiar


According to https://cwiki.apache.org/confluence/display/Hive/Permission+Inheritance+in+Hive, failure to inherit permissions should not cause queries to fail.

It looks like this was the case until HIVE-13716, which added some code to use {{fs.setOwner}}, {{fs.setAcl}}, and {{fs.setPermission}} to set permissions instead of shelling out and running {{-chgrp -R ...}}.

When shelling out, the return status of each command is ignored, so if there are any failures when inheriting permissions, a warning is logged, but the query still succeeds.

However, when invoked the {{FileSystem}} API, any failures will be propagated up to the caller, and the query will fail.

This is problematic because {{setFulFileStatus}} shells out when the {{recursive}} parameter is set to {{true}}, and when it is false it invokes the {{FileSystem}} API. So the behavior is inconsistent depending on the value of {{recursive}}.

We should decide whether or not permission inheritance should fail queries or not, and then ensure the code consistently follows that decision.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)