Fix shard deadlock in 3 nodes
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / sharding / DistributedShardFrontendTest.java
index 53840049b4f9b283aabb1060069b935295208e3a..6a346202fb0469b4f0ad76441978ed1e1acebcb6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -116,7 +116,7 @@ public class DistributedShardFrontendTest {
 
         final DistributedShardFrontend rootShard = new DistributedShardFrontend(distributedDataStore, client, ROOT);
 
-        try (final DOMDataTreeProducer producer = shardedDOMDataTree.createProducer(Collections.singletonList(ROOT))) {
+        try (DOMDataTreeProducer producer = shardedDOMDataTree.createProducer(Collections.singletonList(ROOT))) {
             shardedDOMDataTree.registerDataTreeShard(ROOT, rootShard, producer);
         }
 
@@ -142,17 +142,17 @@ public class DistributedShardFrontendTest {
 
         final DistributedShardFrontend outerListShard = new DistributedShardFrontend(
                 distributedDataStore, outerListClient, OUTER_LIST_ID);
-        try (final DOMDataTreeProducer producer =
+        try (DOMDataTreeProducer producer =
                      shardedDOMDataTree.createProducer(Collections.singletonList(OUTER_LIST_ID))) {
             shardedDOMDataTree.registerDataTreeShard(OUTER_LIST_ID, outerListShard, producer);
         }
 
         final DOMDataTreeProducer producer = shardedDOMDataTree.createProducer(Collections.singletonList(ROOT));
         final DOMDataTreeCursorAwareTransaction tx = producer.createTransaction(false);
-        final DOMDataTreeWriteCursor cursor = tx.createCursor(ROOT);
+        final DOMDataTreeWriteCursor txCursor = tx.createCursor(ROOT);
 
-        assertNotNull(cursor);
-        cursor.write(TestModel.TEST_PATH.getLastPathArgument(), createCrossShardContainer());
+        assertNotNull(txCursor);
+        txCursor.write(TestModel.TEST_PATH.getLastPathArgument(), createCrossShardContainer());
 
         //check the lower shard got the correct modification
         verify(outerListCursor, times(2)).write(pathArgumentCaptor.capture(), nodeCaptor.capture());
@@ -171,13 +171,12 @@ public class DistributedShardFrontendTest {
         final MapNode actualInnerListNode = (MapNode) nodeCaptor.getAllValues().get(1);
         assertEquals(createInnerMapNode(1), actualInnerListNode);
 
-        cursor.close();
+        txCursor.close();
         tx.submit().checkedGet();
 
         verify(commitCohort, times(2)).canCommit();
         verify(commitCohort, times(2)).preCommit();
         verify(commitCohort, times(2)).commit();
-
     }
 
     private static MapNode createInnerMapNode(final int id) {
@@ -213,6 +212,4 @@ public class DistributedShardFrontendTest {
 
         return testContainer;
     }
-
-
-}
\ No newline at end of file
+}