sanjeet006py commented on code in PR #1964:
URL: https://github.com/apache/phoenix/pull/1964#discussion_r1739036370
##########
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:
Currently, `maxLookback` is used only during Index verification and thus,
table level max lookback is passed as scan attribute only when scan attributes:
`INDEX_REBUILD_VERIFY_TYPE` and `REBUILD_INDEXES` are also set. But by shifting
dependency on max lookback outside index verification we now need to pass table
level max lookback as scan attribute wherever we are setting `REBUILD_INDEXES`.
Example: In `GlobalIndexChecker.GlobalIndexScanner.repairIndexRows()`.
--
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]