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

Stamatis Zampetakis commented on HIVE-28249:
--------------------------------------------

When queries fail with exceptions it is very helpful to include the stacktrace 
in the description of the ticket so that others who encounter the same problem 
can find the respective JIRA easily.

>From the description of the ticket is not completely clear how the problem 
>appears and the steps to reproduce. I am a bit familiar with this area so I 
>assume that there is some cross version reading/writing involved but it is 
>worth clarifying under what circumstances the users can hit this problem. Some 
>of the questions that come to mind:
* Does this problem affect older versions of Hive?
* Is this a regression caused by another ticket?
* Does it appear when reading and writting of Parquet data happens with the 
same version?
* Does it require some specific properties to be set when reading/writing?
* Is it relevant only for 200 CE/02/29 or it affects other dates as well?



> Parquet legacy timezone conversion converts march 1st to 29th feb and fails 
> with not a leap year exception
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-28249
>                 URL: https://issues.apache.org/jira/browse/HIVE-28249
>             Project: Hive
>          Issue Type: Task
>            Reporter: Simhadri Govindappa
>            Assignee: Simhadri Govindappa
>            Priority: Major
>              Labels: pull-request-available
>
> When handling legacy timezone conversions in parquet,  'February 29' year 
> '200' is an edge case. 
> This is because, according to this: [https://www.lanl.gov/Caesar/node202.html]
> The Julian day for 200 CE/02/29 in the Julian calendar is different from the 
> Julian day in Gregorian Calendar .
> |Date (BC/AD)|Date (CE)|Julian Day|Julian Day|
> | | |(Julian Calendar)|(Gregorian Calendar)|
> |200 AD/02/28|200 CE/02/28|1794166|1794167|
> |200 AD/02/29|200 CE/02/29|1794167|1794168|
> |200 AD/03/01|200 CE/03/01|1794168|1794168|
> As a result since hive stores timestamp in UTC, when converting 200 CE/03/01 
> between timezones, hive runs into an exception and fails with "not a leap 
> year exception" for 29th Feb 200 even if the actual record inserted was 200 
> CE/03/01 in Asia/Singapore timezone.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to