sanjeet006py commented on code in PR #1964:
URL: https://github.com/apache/phoenix/pull/1964#discussion_r1739411037


##########
phoenix-core-server/src/main/java/org/apache/phoenix/coprocessor/GlobalIndexRegionScanner.java:
##########
@@ -273,11 +278,31 @@ public GlobalIndexRegionScanner(final RegionScanner 
innerScanner,
             verificationResultRepository =
                     new 
IndexVerificationResultRepository(indexMaintainer.getIndexTableName(), 
hTableFactory);
             nextStartKey = null;
-            minTimestamp = scan.getTimeRange().getMin();
         }
+        computeMinTimestamp(config);
     }
 
-
+    /**
+     * For CDC indexes we do not need to consider rows outside max lookback 
window or before
+     * the index create time. minTimestamp needs to be computed and used for 
CDC indexes always
+     * even when it is not set on the scan
+     */
+    private void computeMinTimestamp(Configuration config) throws IOException {
+        minTimestamp = scan.getTimeRange().getMin();
+        if (indexMaintainer.isCDCIndex()) {
+            minTimestamp = EnvironmentEdgeManager.currentTimeMillis() - 
maxLookBackInMills;

Review Comment:
   `MetadataRegionObserver.BuildIndexSchedulerTask.run()` seems like the only 
other class which can be on CDC Index rebuild path. This also sets 
`REBUILD_INDEXES` scan attribute but is not setting table level max lookback as 
scan attribute. Please correct me if I am wrong. Thanks



-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@phoenix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to