hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <>
Subject [jira] [Commented] (HIVE-15546) Optimize Utilities.getInputPaths() so each listStatus of a partition is done in parallel
Date Wed, 18 Jan 2017 14:08:26 GMT


Hive QA commented on HIVE-15546:

Here are the results of testing the latest attachment:

{color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 6 failed/errored test(s), 10943 tests executed
*Failed tests:*
TestDerbyConnector - did not produce a TEST-*.xml file (likely timed out) (batchId=234)
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[orc_llap_counters] (batchId=136)

Test results:
Console output:
Test logs:

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: 6 tests failed

This message is automatically generated.

ATTACHMENT ID: 12847973 - PreCommit-HIVE-Build

> Optimize Utilities.getInputPaths() so each listStatus of a partition is done in parallel
> ----------------------------------------------------------------------------------------
>                 Key: HIVE-15546
>                 URL:
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Hive
>            Reporter: Sahil Takiar
>            Assignee: Sahil Takiar
>         Attachments: HIVE-15546.1.patch, HIVE-15546.2.patch, HIVE-15546.3.patch, HIVE-15546.4.patch
> When running on blobstores (like S3) where metadata operations (like listStatus) are
costly, Utilities.getInputPaths() can add significant overhead when setting up the input paths
for an MR / Spark / Tez job.
> The method performs a listStatus on all input paths in order to check if the path is
empty. If the path is empty, a dummy file is created for the given partition. This is all
done sequentially. This can be really slow when there are a lot of empty partitions. Even
when all partitions have input data, this can take a long time.
> We should either:
> (1) Just remove the logic to check if each input path is empty, and handle any edge cases
> (2) Multi-thread the listStatus calls

This message was sent by Atlassian JIRA

View raw message