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-21376) Incompatible change in Hive bucket computation
Date Wed, 06 Mar 2019 07:48:03 GMT

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

Hive QA commented on HIVE-21376:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12961205/HIVE-21376.01.patch

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

{color:green}SUCCESS:{color} +1 due to 15818 tests passed

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

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.YetusPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12961205 - PreCommit-HIVE-Build

> Incompatible change in Hive bucket computation
> ----------------------------------------------
>
>                 Key: HIVE-21376
>                 URL: https://issues.apache.org/jira/browse/HIVE-21376
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 3.1.0
>            Reporter: David Phillips
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>         Attachments: HIVE-21376.01.patch, HIVE-21376.patch
>
>
> HIVE-20007 seems to have inadvertently changed the bucket hash code computation via
{{ObjectInspectorUtils.getBucketHashCodeOld()}} for the {{DATE}} and {{TIMESTAMP}} data
type2.
> {{DATE}} was previously computed using {{DateWritable}}, which uses {{daysSinceEpoch}}
as the hash code. It is now computed using {{DateWritableV2}}, which uses the hash code of
{{java.time.LocalDate}} (which is not days since epoch).
> {{TIMESTAMP}} was previous computed using {{TimestampWritable}} and now uses {{TimestampWritableV2}}.
They ostensibly use the same hash code computation, but there are two important differences:
>  # {{TimestampWritable}} rounds the number of milliseconds into the seconds portion of
the computation, but {{TimestampWritableV2}} does not.
>  # {{TimestampWritable}} gets the epoch time from {{java.sql.Timestamp}}, which returns
it relative to the JVM time zone, not UTC. {{TimestampWritableV2}} uses a {{LocalDateTime}}
relative to UTC.
> I was unable to get Hive 3.1 running in order to verify if this actually causes data
to be read or written incorrectly (there may be code above this library method which makes
things work correctly). However, if my understanding is correct, this means Hive 3.1 is both
forwards and backwards incompatible with bucketed tables using either of these data types.
It also indicates that Hive needs tests to verify that the hash code does not change between
releases.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message