[
https://issues.apache.org/jira/browse/HIVE-21304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17050019#comment-17050019
]
Zoltan Haindrich commented on HIVE-21304:
-----------------------------------------
I've looked into why this strange thing happens; apparently the the bucket2 can
end up non-deterministically with using bucketingVersion 1 or 2
After debugging the issue I've found what's causing the strange behaviour(and
causes problems)
The goal of [this
method|https://github.com/apache/hive/blob/94dca16e4eb3caf7dcaa43ae92807e5750e1ff04/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java#L1995]
tries to set to appropriate bucketingVersion for the RS operator.
In case an RS has 2 FileSink (grand*)childs - with different bucketingVersion-s
- it may end up using any of them non-deterministically.
In the testcase of "bucket2" the 2 FileSink-s are:
* table result save into a "version2" table
* columns-stats gathering
note: column-stats aggregate is put in here becase the test has 1 reducers; so
it can execute the full aggregate as well...
> Show Bucketing version for ReduceSinkOp in explain extended plan
> ----------------------------------------------------------------
>
> Key: HIVE-21304
> URL: https://issues.apache.org/jira/browse/HIVE-21304
> Project: Hive
> Issue Type: Bug
> Reporter: Deepak Jaiswal
> Assignee: Zoltan Haindrich
> Priority: Major
> Attachments: HIVE-21304.01.patch, HIVE-21304.02.patch,
> HIVE-21304.03.patch, HIVE-21304.04.patch, HIVE-21304.05.patch,
> HIVE-21304.06.patch, HIVE-21304.07.patch, HIVE-21304.08.patch,
> HIVE-21304.09.patch, HIVE-21304.10.patch, HIVE-21304.11.patch,
> HIVE-21304.12.patch, HIVE-21304.13.patch, HIVE-21304.14.patch,
> HIVE-21304.15.patch, HIVE-21304.16.patch, HIVE-21304.17.patch,
> HIVE-21304.18.patch
>
>
> Show Bucketing version for ReduceSinkOp in explain extended plan.
> This helps identify what hashing algorithm is being used by by ReduceSinkOp.
>
> cc [~vgarg]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)