hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <>
Subject [jira] [Commented] (HIVE-10209) FetchTask with VC may fail because ExecMapper.done is true
Date Tue, 07 Apr 2015 19:03:13 GMT


Hive QA commented on HIVE-10209:

{color:red}Overall{color}: -1 at least one tests failed

Here are the results of testing the latest attachment:

{color:red}ERROR:{color} -1 due to 1 failed/errored test(s), 8710 tests executed
*Failed tests:*

Test results:
Console output:
Test logs:

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

This message is automatically generated.

ATTACHMENT ID: 12723667 - PreCommit-HIVE-SPARK-Build

> FetchTask with VC may fail because ExecMapper.done is true
> ----------------------------------------------------------
>                 Key: HIVE-10209
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 1.1.0
>            Reporter: Chao
>            Assignee: Chao
>         Attachments: HIVE-10209.1-spark.patch, HIVE-10209.2-spark.patch
> ExecMapper.done is a static variable, and may cause issues in the following example:
> {code}
> set hive.fetch.task.conversion=minimal;
> select * from src where key < 10 limit 1;
> set hive.fetch.task.conversion=more;
> select *, BLOCK__OFFSET_INSIDE__FILE from src where key < 10;
> {code}
> The second select won't return any result, if running in local mode.
> The issue is, the first select query will be converted to a MapRedTask with only a mapper.
And, when the task is done, because of the limit operator, ExecMapper.done will be set to
> Then, when the second select query begin to execute, it will call {{FetchOperator::getRecordReader()}},
and since here we have virtual column, an instance of {{HiveRecordReader}} will be returned.
The problem is, {{HiveRecordReader::doNext()}} will check ExecMapper.done. In this case, since
the value is true, it will quit immediately.
> In short, I think making ExecMapper.done static is a bad idea. The first query should
in no way affect the second one.

This message was sent by Atlassian JIRA

View raw message