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

Jesus Camacho Rodriguez commented on HIVE-21039:
------------------------------------------------

Patch changes the timestamp in session state to be an instant, which I believe 
is the right thing to do. Then GenericUDFCurrentTimestamp translates that 
instant into a zoned datetime in the session time zone and produces a timestamp 
(local datetime) from it. The issue observed could also happen with 
current_date; this patch should solve that issue too.

> CURRENT_TIMESTAMP returns value in UTC time zone
> ------------------------------------------------
>
>                 Key: HIVE-21039
>                 URL: https://issues.apache.org/jira/browse/HIVE-21039
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 3.1.1
>            Reporter: Andrey Zinovyev
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>         Attachments: HIVE-21039.patch
>
>
> We're upgrading from hive 1.2 to 3.1 and it seems like new hive returns 
> CURRENT_TIMESTAMP in UTC timezone. But before it was in local (system's 
> default) timezone.
> According to HIVE-5472 current_timestamp should use user's local timezone. 
> This behaviour was changed in HIVE-12192  (if I got it right). 
> GenericUDFCurrentTimestamp now explicitly uses UTC as timezone to initialise 
> org.apache.hadoop.hive.common.type.Timestamp .
> For example
> Old hive:
> {code}
> hive> select current_timestamp;
> OK
> 2018-12-12 22:43:39.024
> {code}
> New hive:
> {code}
> > select current_timestamp;
> +--------------------------+
> |           _c0            |
> +--------------------------+
> | 2018-12-12 19:43:57.024  |
> +--------------------------+
> {code}



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

Reply via email to