- private ShardDataTreeTransactionChain ensureTransactionChain(final String chainId) {
- ShardDataTreeTransactionChain chain = transactionChains.get(chainId);
+ ShardDataTreeSnapshot takeRecoverySnapshot() {
+ return new MetadataShardDataTreeSnapshot(dataTree.takeSnapshot().readNode(YangInstanceIdentifier.EMPTY).get());
+ }
+
+ void applyRecoveryTransaction(final ReadWriteShardDataTreeTransaction transaction) throws DataValidationFailedException {
+ final DataTreeModification snapshot = transaction.getSnapshot();
+ snapshot.ready();
+
+ dataTree.validate(snapshot);
+ dataTree.commit(dataTree.prepare(snapshot));
+ }
+
+ private ShardDataTreeTransactionChain ensureTransactionChain(final LocalHistoryIdentifier localHistoryIdentifier) {
+ ShardDataTreeTransactionChain chain = transactionChains.get(localHistoryIdentifier);