korlov42 commented on code in PR #4554:
URL: https://github.com/apache/ignite-3/pull/4554#discussion_r1802434065
##########
modules/index/src/main/java/org/apache/ignite/internal/index/IndexNodeFinishedRwTransactionsChecker.java:
##########
@@ -148,17 +151,28 @@ public <T> T inUpdateRwTxCountLock(Supplier<T> supplier) {
}
@Override
- public HybridTimestamp minimumBeginTime() {
+ public long minimumRequiredTime() {
readWriteLock.writeLock().lock();
+ int minRequiredVer;
+
try {
- // TODO https://issues.apache.org/jira/browse/IGNITE-22975 Improve
minimum begin time determination
- return txCatalogVersionByBeginTxTs.keySet().stream()
- .min(HybridTimestamp::compareTo)
- .orElse(clock.now());
+ Entry<Integer, Long> entry = txCountByCatalogVersion.lastEntry();
Review Comment:
`txCountByCatalogVersion` is initialized as `new ConcurrentSkipListMap<>()`
(mind the lack of external comparator), what means all entries will be sorted
naturally in ascending order. Here you get _last_ entry, given the ascending
order this results in the biggest version used so far. But this method must
return minimal required time.
The fact that all tests have passed freaks me out tbh
--
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]