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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]