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

ASF GitHub Bot commented on PHOENIX-6186:
-----------------------------------------

ChinmaySKulkarni commented on a change in pull request #935:
URL: https://github.com/apache/phoenix/pull/935#discussion_r512347866



##########
File path: 
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
##########
@@ -3048,7 +3048,13 @@ public boolean isViewReferenced() {
              * the counter as NULL_COUNTER for extra safety.
              */
             EncodedCQCounter cqCounterToBe = tableType == PTableType.VIEW ? 
NULL_COUNTER : cqCounter;
-            PTable table = new PTableImpl.Builder()
+            PTable table;
+            //better to use the table sent back from the server so we get an 
accurate DDL
+            // timestamp, which is server-generated.
+            if (result.getTable() != null ) {

Review comment:
       This seems risky since we are relying on the fact that the PTable 
returned from the server has all the necessary attributes set as the PTable we 
create on the client-side. There are some that we set explicitly inside 
`MetaDataClient` which depend on the parent so I'm not sure we still have those 
set as expected.
   
   Instead, to be safe we can maybe `getDDLTimestamp()` from this returned 
PTable and set that in the builder. Better yet, we could just send the DDL 
timestamp in the server response rather than the entire PTable. We could then 
use the setter for this attribute when creating the PTable from its builder.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Store table metadata last modified timestamp in PTable / System.Catalog
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-6186
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6186
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Geoffrey Jacoby
>            Assignee: Geoffrey Jacoby
>            Priority: Major
>             Fix For: 4.16.0
>
>         Attachments: PHOENIX-6186-4.x.patch
>
>
> There are many reasons why it's useful to know when a particular table's 
> metadata was last modified. It's helpful when solving cache coherency 
> problems, and also in order to interact with external schema registries which 
> may have multiple versions of a particular schema and require a timestamp to 
> resolve ambiguities. 
> This JIRA will add a last modified timestamp field to System.Catalog, to be 
> updated both when creating a table/view and also when adding or removing a 
> column. Changing purely internal Phoenix properties will not update the 
> timestamp. 



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

Reply via email to