Istvan Toth created PHOENIX-6486:
------------------------------------

             Summary: Phoenix uses JodaTime ISO calendar internally, which is 
incompatible with the JDK time representation 
                 Key: PHOENIX-6486
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6486
             Project: Phoenix
          Issue Type: Bug
          Components: core
    Affects Versions: 4.16.1, 5.1.1
            Reporter: Istvan Toth


Phoenix does a lot of internal Time processing using JodaTime.
However, the default Chronology for JodaTime is ISO, 
while the default chronology used by the JDK is GregorianJulian 
https://www.joda.org/joda-time/cal_gj.html

This causes pre-cutover dates to completely handling to fail spectacularly:


{noformat}
> create table bubu (id integer primary key, ts timestamp);
1 row affected (0.059 seconds)
> upsert into bubu values (1, '1-1-1 0:0:0');
1 row affected (0.007 seconds)
> select * from bubu;
+----+-----------------------+
| ID |          TS           |
+----+-----------------------+
| 1  | 0001-01-03 01:00:00.0 |
+----+-----------------------+
1 row selected (0.014 seconds)
> select id, year(ts), month(ts), dayofmonth(ts), hour(ts), minute(ts), 
> second(ts) from bubu;
+----+----------+-----------+----------------+----------+------------+------------+
| ID | YEAR(TS) | MONTH(TS) | DAYOFMONTH(TS) | HOUR(TS) | MINUTE(TS) | 
SECOND(TS) |
+----+----------+-----------+----------------+----------+------------+------------+
| 1  | 1        | 1         | 1              | 0        | 0          | 0        
  |
+----+----------+-----------+----------------+----------+------------+------------+
1 row selected (0.014 seconds)
{noformat}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to