Tune replication and stabilize tests 41/9741/5
authorMoiz Raja <moraja@cisco.com>
Wed, 6 Aug 2014 11:28:43 +0000 (04:28 -0700)
committerMoiz Raja <moraja@cisco.com>
Thu, 7 Aug 2014 16:02:23 +0000 (09:02 -0700)
commit4caeacba93677c05dd79bc4cb7058f021fa1e88b
tree666c836ce9fe9e984ad863ad3a9bb8be0aef20c8
parentb17205ee3cc4800dccbc222ae8b6607bdc814f76
Tune replication and stabilize tests

Made following changes for replication
- Increased Heartbeat timeout to 500 milliseconds.
- Send only one entry from the replicated log to the follower in append entries

Both of these tweaks have been made to prevent election timeouts and frequent switching of leaders

Changes to tests
- Added a duration when constructing an ExpectMsg. This prevents ExpectMsg from waiting forever when
  and expected event does not occur
- Removed all Thread.sleep from the tests and replace them with waiting for a specific LogEvent this is
  a more deterministic.

Change-Id: Ie9ce0c9c73bf1b170a78879b1e2dab76f1de64df
Signed-off-by: Moiz Raja <moraja@cisco.com>
18 files changed:
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImpl.java
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/DefaultConfigParamsImpl.java
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLog.java
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/AbstractReplicatedLogImplTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Shard.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/BasicIntegrationTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardManagerTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionChainTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTransactionTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/resources/application.conf