Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Return a NoOpTransactionContext when the Primary for a shard is not found
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
test
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
datastore
/
DistributedDataStoreIntegrationTest.java
diff --git
a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java
b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java
index b5e3d24ef6d536d6afe2c9a6abc111bbb4b8688b..0a0c04b91586cbbda3d41dc24c4daca83ae78ae3 100644
(file)
--- a/
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java
+++ b/
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java
@@
-2,8
+2,10
@@
package org.opendaylight.controller.cluster.datastore;
import akka.actor.ActorSystem;
import akka.testkit.JavaTestKit;
import akka.actor.ActorSystem;
import akka.testkit.JavaTestKit;
+
import com.google.common.base.Optional;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.ListenableFuture;
+import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@
-19,6
+21,8
@@
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
import java.util.concurrent.ExecutionException;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
@@
-52,7
+56,7
@@
public class DistributedDataStoreIntegrationTest{
distributedDataStore.onGlobalContextUpdated(TestModel.createTestContext());
distributedDataStore.onGlobalContextUpdated(TestModel.createTestContext());
- Thread.sleep(1
0
00);
+ Thread.sleep(1
5
00);
DOMStoreReadWriteTransaction transaction =
distributedDataStore.newReadWriteTransaction();
DOMStoreReadWriteTransaction transaction =
distributedDataStore.newReadWriteTransaction();
@@
-64,6
+68,8
@@
public class DistributedDataStoreIntegrationTest{
Optional<NormalizedNode<?, ?>> optional = future.get();
Optional<NormalizedNode<?, ?>> optional = future.get();
+ Assert.assertTrue(optional.isPresent());
+
NormalizedNode<?, ?> normalizedNode = optional.get();
assertEquals(TestModel.TEST_QNAME, normalizedNode.getNodeType());
NormalizedNode<?, ?> normalizedNode = optional.get();
assertEquals(TestModel.TEST_QNAME, normalizedNode.getNodeType());
@@
-72,22
+78,21
@@
public class DistributedDataStoreIntegrationTest{
ListenableFuture<Boolean> canCommit = ready.canCommit();
ListenableFuture<Boolean> canCommit = ready.canCommit();
- assertTrue(canCommit.get());
+ assertTrue(canCommit.get(
5, TimeUnit.SECONDS
));
ListenableFuture<Void> preCommit = ready.preCommit();
ListenableFuture<Void> preCommit = ready.preCommit();
- preCommit.get();
+ preCommit.get(
5, TimeUnit.SECONDS
);
ListenableFuture<Void> commit = ready.commit();
ListenableFuture<Void> commit = ready.commit();
- commit.get();
-
+ commit.get(5, TimeUnit.SECONDS);
}
@Test
public void integrationTestWithMultiShardConfiguration()
}
@Test
public void integrationTestWithMultiShardConfiguration()
- throws ExecutionException, InterruptedException {
+ throws ExecutionException, InterruptedException
, TimeoutException
{
Configuration configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
ShardStrategyFactory.setConfiguration(configuration);
Configuration configuration = new ConfigurationImpl("module-shards.conf", "modules.conf");
ShardStrategyFactory.setConfiguration(configuration);
@@
-97,7
+102,9
@@
public class DistributedDataStoreIntegrationTest{
distributedDataStore.onGlobalContextUpdated(SchemaContextHelper.full());
distributedDataStore.onGlobalContextUpdated(SchemaContextHelper.full());
- Thread.sleep(1000);
+ // This sleep is fragile - test can fail intermittently if all Shards aren't updated with
+ // the SchemaContext in time. Is there any way we can make this deterministic?
+ Thread.sleep(2000);
DOMStoreReadWriteTransaction transaction =
distributedDataStore.newReadWriteTransaction();
DOMStoreReadWriteTransaction transaction =
distributedDataStore.newReadWriteTransaction();
@@
-109,16
+116,15
@@
public class DistributedDataStoreIntegrationTest{
ListenableFuture<Boolean> canCommit = ready.canCommit();
ListenableFuture<Boolean> canCommit = ready.canCommit();
- assertTrue(canCommit.get());
+ assertTrue(canCommit.get(
5, TimeUnit.SECONDS
));
ListenableFuture<Void> preCommit = ready.preCommit();
ListenableFuture<Void> preCommit = ready.preCommit();
- preCommit.get();
+ preCommit.get(
5, TimeUnit.SECONDS
);
ListenableFuture<Void> commit = ready.commit();
ListenableFuture<Void> commit = ready.commit();
- commit.get();
-
+ commit.get(5, TimeUnit.SECONDS);
}
}
}
}