in core/src/main/java/org/apache/ignite/activestore/impl/subscriber/consumer/ParallelIgniteCommitter.java [136:159]
private LongList getAvailableTasks() {
MutableLongList tasks = new LongArrayList();
boolean allDone = true;
synchronized (this) {
JointTxScope blocked = new JointTxScope();
for (LongIterator it = ready.longIterator(); it.hasNext(); ) {
long id = it.next();
if (!committed.contains(id)) {
TransactionScopeIterator scopeIt = txSupplier.scopeIterator(id);
boolean isBlocked = blocked.addAll(scopeIt);
allDone = false;
if (!wip.contains(id) && isBlocked) {
tasks.add(id);
}
}
}
wip.addAll(tasks);
}
if (allDone) {
onFullCommit.apply(ready);
}
return tasks;
}