hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-17802) Remove unnecessary calls to FileSystem.setOwner() from FileOutputCommitterContainer
Date Thu, 19 Oct 2017 02:41:00 GMT

    [ https://issues.apache.org/jira/browse/HIVE-17802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210499#comment-16210499
] 

Hive QA commented on HIVE-17802:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12892929/HIVE-17802.2-branch-2.patch

{color:red}ERROR:{color} -1 due to no test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 13 failed/errored test(s), 10650 tests executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[comments] (batchId=35)
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[explaindenpendencydiffengs] (batchId=38)
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[llap_smb] (batchId=142)
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[orc_ppd_basic] (batchId=139)
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[table_nonprintable] (batchId=140)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[join_acid_non_acid] (batchId=158)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[union_fast_stats] (batchId=153)
org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[merge_negative_5] (batchId=88)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[explaindenpendencydiffengs] (batchId=115)
org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver[vectorized_ptf] (batchId=125)
org.apache.hive.beeline.TestBeeLineWithArgs.testQueryProgress (batchId=218)
org.apache.hive.hcatalog.api.TestHCatClient.testTransportFailure (batchId=176)
org.apache.hive.hcatalog.pig.TestExtendedAcls.testPartitionedTableDynamic (batchId=229)
{noformat}

Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/7368/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/7368/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-7368/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 13 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12892929 - PreCommit-HIVE-Build

> Remove unnecessary calls to FileSystem.setOwner() from FileOutputCommitterContainer
> -----------------------------------------------------------------------------------
>
>                 Key: HIVE-17802
>                 URL: https://issues.apache.org/jira/browse/HIVE-17802
>             Project: Hive
>          Issue Type: Bug
>          Components: HCatalog
>    Affects Versions: 2.2.0, 3.0.0
>            Reporter: Mithun Radhakrishnan
>            Assignee: Chris Drome
>         Attachments: HIVE-17802.1.patch, HIVE-17802.2-branch-2.patch, HIVE-17802.2.patch
>
>
> For large Pig/HCat queries that produce a large number of partitions/directories/files,
we have seen cases where the HDFS NameNode groaned under the weight of {{FileSystem.setOwner()}}
calls, originating from the commit-step. This was the result of the following code in FileOutputCommitterContainer:
> {code:java}
> private void applyGroupAndPerms(FileSystem fs, Path dir, FsPermission permission,
>                   List<AclEntry> acls, String group, boolean recursive)
>     throws IOException {
> ...
>     if (recursive) {
>       for (FileStatus fileStatus : fs.listStatus(dir)) {
>         if (fileStatus.isDir()) {
>           applyGroupAndPerms(fs, fileStatus.getPath(), permission, acls, group, true);
>         } else {
>           fs.setPermission(fileStatus.getPath(), permission);
>           chown(fs, fileStatus.getPath(), group);
>         }
>       }
>     }
>   }
>   private void chown(FileSystem fs, Path file, String group) throws IOException {
>     try {
>       fs.setOwner(file, null, group);
>     } catch (AccessControlException ignore) {
>       // Some users have wrong table group, ignore it.
>       LOG.warn("Failed to change group of partition directories/files: " + file, ignore);
>     }
>   }
> {code}
> One call per file/directory is far too many. We have a patch that reduces the namenode
pressure.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message