private LongList getAvailableTasks()

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;
        }