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