Fix InMemory shard transaction chaining.
[mdsal.git] / dom / mdsal-dom-broker / src / main / java / org / opendaylight / mdsal / dom / broker / ShardedDOMDataTreeProducer.java
index 837871c03156addd19e4d5dac364fe38ff794ac8..3ae355a071f414227281dc9ebeeed23a4311d1dc 100644 (file)
@@ -262,10 +262,10 @@ class ShardedDOMDataTreeProducer implements DOMDataTreeProducer {
         }
     }
 
-    void transactionSuccessful(final ShardedDOMDataTreeWriteTransaction tx, final Void result) {
+    void transactionSuccessful(final ShardedDOMDataTreeWriteTransaction tx) {
         LOG.debug("Transaction {} completed successfully", tx.getIdentifier());
 
-        tx.onTransactionSuccess(result);
+        tx.onTransactionSuccess(null);
         processNextTransaction(tx);
     }
 
@@ -283,7 +283,7 @@ class ShardedDOMDataTreeProducer implements DOMDataTreeProducer {
         }
     }
 
-    private void processNextTransaction(final ShardedDOMDataTreeWriteTransaction tx) {
+    private synchronized void processNextTransaction(final ShardedDOMDataTreeWriteTransaction tx) {
         final boolean wasLast = LAST_UPDATER.compareAndSet(this, tx, null);
         if (wasLast) {
             processCurrentTransaction();