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


##########
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:
   ServerBuildIndexCompiler is used for rebuild and verification and we set the 
scan attribute there. GlobalIndexChecker does one row repair for covered 
indexes. We do not need to set there as it is not used for uncovered indexes 
and thus CDC indexes.



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