import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeTip;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
import org.opendaylight.yangtools.yang.data.api.schema.tree.TipProducingDataTree;
import org.opendaylight.yangtools.yang.data.api.schema.tree.TipProducingDataTreeTip;
import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType;
}
private void processNextPending() {
- processNextPendingFinishCommit();
processNextPendingCommit();
processNextPendingTransaction();
}
entry -> startCommit(entry.cohort, entry.cohort.getCandidate()));
}
- private void processNextPendingFinishCommit() {
- processNextPending(pendingFinishCommits, State.FINISH_COMMIT_PENDING,
- entry -> payloadReplicationComplete(entry.cohort.getIdentifier()));
- }
-
private boolean peekNextPendingCommit() {
final CommitEntry first = pendingCommits.peek();
return first != null && first.cohort.getState() == State.COMMIT_PENDING;
LOG.debug("{}: Starting commit for transaction {}", logContext, current.getIdentifier());
final TransactionIdentifier txId = cohort.getIdentifier();
- if (shard.canSkipPayload() || candidate.getRootNode().getModificationType() == ModificationType.UNMODIFIED) {
- LOG.debug("{}: No replication required, proceeding to finish commit", logContext);
- pendingCommits.remove();
- pendingFinishCommits.add(entry);
- cohort.finishCommitPending();
- payloadReplicationComplete(txId);
- return;
- }
-
final Payload payload;
try {
payload = CommitTransactionPayload.create(txId, candidate);