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



##########
File path: phoenix-core/src/main/java/org/apache/phoenix/util/ViewUtil.java
##########
@@ -654,10 +654,17 @@ public static PTable addDerivedColumnsFromParent(PTable 
view, PTable parentTable
         }
 
         long maxTableTimestamp = view.getTimeStamp();
+        long maxDDLTimestamp = view.getLastDDLTimestamp() != null ? 
view.getLastDDLTimestamp() : 0L;
         int numPKCols = view.getPKColumns().size();
-        // set the final table timestamp as the max timestamp of the view/view 
index or its
-        // ancestors
+        // set the final table timestamp and DDL timestamp as the respective 
max timestamps of the
+        // view/view index or its ancestors
         maxTableTimestamp = Math.max(maxTableTimestamp, 
parentTable.getTimeStamp());
+        //Diverged views no longer inherit ddl timestamps from their ancestors 
because they don't
+        // inherit column changes

Review comment:
       I'd be more inclined to: 
   Step 1. Update the last ddl timestamp on either add or drop column, and 
accept that in a future JIRA the schema registry will be redundantly updated in 
the (hopefully rare) event that a base table of a diverged view adds a column. 
Essentially this removes the diverged view check here in ViewUtil. (Easy)
   
   Optional Step 2. Then in a second JIRA change the diverged view logic to 
inherit changes on both add column and drop column so the updates aren't really 
redundant. (Harder, but leaves us in a better state)
   
   If there's some compelling reason to keep the existing logic, I'm interested 
to learn about it, but right now it doesn't seem to justify the enormous 
complexity (which just keeps compounding with time!) that it requires. 




----------------------------------------------------------------
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:
us...@infra.apache.org


Reply via email to