Tanuj Khurana created PHOENIX-7509:
--------------------------------------

             Summary: Metadata Cache should handle tables which have 
LAST_DDL_TIMESTAMP column null in syscat
                 Key: PHOENIX-7509
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7509
             Project: Phoenix
          Issue Type: Bug
            Reporter: Tanuj Khurana


PHOENIX-6883 re-designed the Phoenix metadata cache. It relies upon the 
LAST_DDL_TIMESTAMP column. However, in some scenarios where the table 
pre-existed before  this column was introduced and there hasn't been any DDL 
change on that table this column will have a null value. If the ddl timestamp 
validation is enabled, then we get a NPE when querying such tables. 

In my test, I got the below NPE
{code:java}
2025-01-16 13:50:06,084 ERROR ValidateLastDDLTimestampUtil - Error in 
validating DDL timestamp for Tenant: null, {Schema: TEST, Table: N000001},
org.apache.phoenix.exception.PhoenixIOException
    at 
org.apache.phoenix.util.ClientUtil.parseServerException(ClientUtil.java:70)
    at 
org.apache.phoenix.util.ValidateLastDDLTimestampUtil.validateLastDDLTimestamp(ValidateLastDDLTimestampUtil.java:121)
    at 
org.apache.phoenix.util.ValidateLastDDLTimestampUtil.validateLastDDLTimestamp(ValidateLastDDLTimestampUtil.java:130)
    at 
org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:390)
    at 
org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:352)
    at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:352)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:334)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:2295)
    at 
org.apache.phoenix.end2end.PhoenixStandaloneClient.testConnection(PhoenixStandaloneClient.java:25)
    at 
org.apache.phoenix.end2end.PhoenixStandaloneClient.main(PhoenixStandaloneClient.java:15)
Caused by: java.lang.NullPointerException
    at 
org.apache.phoenix.util.ValidateLastDDLTimestampUtil.getValidateDDLTimestampRequest(ValidateLastDDLTimestampUtil.java:173)
    at 
org.apache.phoenix.util.ValidateLastDDLTimestampUtil.validateLastDDLTimestamp(ValidateLastDDLTimestampUtil.java:118)
    ... 9 more {code}



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

Reply via email to