[ 
https://issues.apache.org/jira/browse/PHOENIX-7494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chaijunjie updated PHOENIX-7494:
--------------------------------
    Attachment:     (was: PHOENIX-7494.patch)

> NPE thrown when enable applyTimeZone
> ------------------------------------
>
>                 Key: PHOENIX-7494
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7494
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.2.1
>            Reporter: chaijunjie
>            Assignee: chaijunjie
>            Priority: Major
>
> When set phoenix.query.applyTimeZoneDisplacement to true, and upsert empty 
> time type data, do query will throw NPE.
> create table test_timezone (id integer primary key, D1 DATE, T1 TIME, S1 
> TIMESTAMP);
> upsert into test_timezone(id,D1,T1,S1) VALUES(1,TO_DATE('2025-01-01 
> 10:00:00'), TO_TIME('2025-01-01 10:00:00'), TO_TIMESTAMP('2025-01-01 
> 10:00:00'));
> select * from test_timezone;
> upsert into test_timezone(id,T1,S1) VALUES(2, TO_TIME('2025-01-01 11:00:00'), 
> TO_TIMESTAMP('2025-01-01 11:00:00'));
> select * from test_timezone;
>  
> 0: jdbc:phoenix:> create table test_timezone (id integer primary key, D1 
> DATE, T1 TIME, S1 TIMESTAMP);
> 2024-12-24 18:03:36,782 INFO  [main] client.HBaseAdmin: Operation: CREATE, 
> Table Name: default:TEST_TIMEZONE, procId: 1567 completed
> No rows affected (0.657 seconds)
> 0: jdbc:phoenix:> upsert into test_timezone(id,D1,T1,S1) 
> VALUES(1,TO_DATE('2025-01-01 10:00:00'), TO_TIME('2025-01-01 10:00:00'), 
> TO_TIMESTAMP('2025-01-01 10:00:00'));
> 1 row affected (0.015 seconds)
> 0: jdbc:phoenix:> select * from test_timezone;
> +----+------------+----------+-----------------------+
> | ID |     D1     |    T1    |          S1           |
> +----+------------+----------+-----------------------+
> | 1  | 2025-01-01 | 10:00:00 | 2025-01-01 10:00:00.0 |
> +----+------------+----------+-----------------------+
> 1 row selected (0.02 seconds)
> 0: jdbc:phoenix:> upsert into test_timezone(id,T1,S1) VALUES(2, 
> TO_TIME('2025-01-01 11:00:00'), TO_TIMESTAMP('2025-01-01 11:00:00'));
> 1 row affected (0.012 seconds)
> 0: jdbc:phoenix:> select * from test_timezone;
> java.lang.NullPointerException
>     at 
> org.apache.phoenix.util.DateUtil.applyOutputDisplacement(DateUtil.java:430)
>     at 
> org.apache.phoenix.jdbc.PhoenixResultSet.getObject(PhoenixResultSet.java:596)
>     at sqlline.Rows$Row.<init>(Rows.java:277)
>     at sqlline.BufferedRows.nextList(BufferedRows.java:110)
>     at sqlline.BufferedRows.<init>(BufferedRows.java:52)
>     at sqlline.SqlLine.print(SqlLine.java:1672)
>     at sqlline.Commands.executeSingleQuery(Commands.java:1063)
>     at sqlline.Commands.execute(Commands.java:1003)
>     at sqlline.Commands.sql(Commands.java:967)
>     at sqlline.SqlLine.dispatch(SqlLine.java:734)
>     at sqlline.SqlLine.begin(SqlLine.java:541)
>     at sqlline.SqlLine.start(SqlLine.java:267)
>     at sqlline.SqlLine.main(SqlLine.java:206)



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

Reply via email to