- final NormalizedNode<?,?> node) throws InterruptedException, ExecutionException {
- final ReadWriteShardDataTreeTransaction transaction = store.newReadWriteTransaction(nextTransactionId());
-
- transaction.getSnapshot().merge(id, node);
- final ShardDataTreeCohort cohort = transaction.ready();
- immediateCanCommit(cohort);
- immediatePreCommit(cohort);
- immediateCommit(cohort);
+ final NormalizedNode<?,?> node) throws Exception {
+ final BatchedModifications batched = new BatchedModifications(nextTransactionId(), CURRENT_VERSION);
+ batched.addModification(new MergeModification(id, node));
+ batched.setReady(true);
+ batched.setDoCommitOnReady(true);
+ batched.setTotalMessagesSent(1);
+
+ DataTreeModification modification = store.getDataTree().takeSnapshot().newModification();
+ batched.apply(modification);
+ modification.ready();
+ store.applyForeignCandidate(batched.getTransactionID(), store.getDataTree().prepare(modification));