Commit graph

187 commits

Author SHA1 Message Date
Patrik Nordwall
51a38f318a Real SunnyWeather 2012-06-15 13:44:37 +02:00
Patrik Nordwall
309b460367 Test state transitions and actions step-by-step, see #2223 2012-06-15 13:35:52 +02:00
Patrik Nordwall
11c85b84b9 Fail fast in cluster tests if prevous step failed 2012-06-15 13:35:52 +02:00
Patrik Nordwall
08c47591c0 Use max of periodic-tasks-initial-delay and the interval 2012-06-15 13:35:52 +02:00
Patrik Nordwall
f7a01505ba Correction of gossip merge when joining, see #2204
The problem:
* Node that is Up joins a cluster and becomes Joining in that cluster
* The joining node receives gossip, which results in conflict,
  merge results in Up
* It became Up in the new cluster without passing the ordinary leader
  action to move it to Up

The solution:
* Change priority order of Up and Joining so that Joining is used when
  merging
2012-06-15 13:35:52 +02:00
Patrik Nordwall
82645ca3c9 Additional check of expectedAddresses in listener tests 2012-06-13 16:06:34 +02:00
Patrik Nordwall
de1ad30217 Fix false convergence when singleton cluster, see #2222
* All members must be in seen table for convergence
* Added extra debug logging due to convergence issues
* Enabled test of convergence for node joining singleton
  cluster
2012-06-12 16:16:44 +02:00
Patrik Nordwall
a7d2be10eb Merge branch 'master' into wip-2214-heartbeats-patriknw
Conflicts:
	akka-cluster/src/main/scala/akka/cluster/AccrualFailureDetector.scala
	akka-cluster/src/main/scala/akka/cluster/Cluster.scala
2012-06-11 22:27:08 +02:00
Jonas Bonér
c0e2362daa Merge branch 'master' into wip-failure-detector-puppet-jboner
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-11 16:53:55 +02:00
Jonas Bonér
2dcceb58ce Split up all tests that are related to failure detection into two versions: Accrual FD and FD Puppet. Also moved all tests that are not failure detection tests to use FD Puppet.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-11 16:48:19 +02:00
Patrik Nordwall
e2551494c4 Use Use separate heartbeats for FailureDetector, see #2214
* Send Heartbeat message to all members at regular interval
* Removed the need to gossip to myself
2012-06-11 15:00:44 +02:00
Jonas Bonér
b65cf5c2ec Created FailureDetectorStrategy with two implementations: FailureDetectorPuppetStrategy and AccrualFailureDetectorStrategy.
- Created FailureDetectorStrategy base trait.
- Created FailureDetectorPuppetStrategy.
- Created AccrualFailureDetectorStrategy.
- Created two versions of LeaderDowningNodeThatIsUnreachableMultiJvmSpec
    - LeaderDowningNodeThatIsUnreachableWithFailureDetectorPuppet
    - LeaderDowningNodeThatIsUnreachableWithAccrualFailureDetector
- Added AccrualFailureDetectorStrategy to all the remaining tests - will be split up into two versions shortly.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-11 14:32:17 +02:00
Jonas Bonér
523f433e4b Fixed potential problem in test 2012-06-11 11:36:29 +02:00
Jonas Bonér
0030fa1b52 Made LeaderDowningNodeThatIsUnreachableSpec make use of the new FailureDetectorPuppet as a sample of how to use it.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-10 16:53:17 +02:00
Jonas Bonér
e6ee3e2a95 Ignoring ConvergenceSpec until fixed.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-10 16:50:04 +02:00
Patrik Nordwall
2b69f67777 Ignore due to failures, see #2180 2012-06-08 16:54:55 +02:00
Patrik Nordwall
c9e259d569 Turn on debug logging due to failures 2012-06-08 16:51:27 +02:00
Patrik Nordwall
fb62311f49 Rename NodeShutdownSpec to SingletonClusterSpec, see #2182 2012-06-08 15:03:11 +02:00
Patrik Nordwall
dcae863f7f Use all heartbeats in failure detector, see #2182
* Failure detector didn't use hearbeat 1 and 2
* Included heartbeat 2 in ordinary stats
* For heartbeat 1 use guess stats,
  important so that connections with only one heartbeat
  becomes unavailble, the guess corresponds to 1 second interval
  which results in phi > 8 after 18 seconds
* Improved AccrualFailureDetectorSpec
2012-06-08 13:44:45 +02:00
Patrik Nordwall
c7af802dc8 Turn on debug logging due to failures 2012-06-08 11:30:44 +02:00
Patrik Nordwall
531e675ef9 Ignore the leaving/exit failing tests 2012-06-08 11:20:19 +02:00
Patrik Nordwall
233b9a6291 Change loglevel to info, gossiping verification done, see #2195 2012-06-08 09:41:42 +02:00
Patrik Nordwall
56735477b8 initialParticipants default as roles.size in cluster tests 2012-06-08 09:23:36 +02:00
Patrik Nordwall
6a380550f9 Notify MembershipChangeListeners when 'members' change 2012-06-08 08:59:05 +02:00
Patrik Nordwall
fcd08ed2b9 Test normal healthy cluster, see #2195
* Fix that membership listeners should only notified when something changed
2012-06-07 17:45:03 +02:00
Patrik Nordwall
8c9d40eb00 Add missing assert 2012-06-07 15:56:59 +02:00
Patrik Nordwall
dbac17621f Node that joins again should be ignored, see #2184 2012-06-07 15:45:10 +02:00
Patrik Nordwall
bc289df018 Unit tests of Cluster, see 2163
* ClusterSpec
- Test gossiping rules for deputies and unreachable
- Fix strange/wrong probabilites for gossip to unreachable and deputy nodes
- Fix lost order of Members when using map (without .toSeq) on the members SortedSet

* MemberSpec
- Test equals, hashCode

* GossipSpec
- Test member merge by status prio
- Fix bug in member merge (groupBy was wrong)
2012-06-07 08:29:07 +02:00
Patrik Nordwall
ac98dddfe8 ScalaDoc of awaitClusterUp 2012-06-05 15:53:30 +02:00
Patrik Nordwall
f02793ebd6 Refactor cluster startup join in tests and fix barrier race
* Refactored common code to MultiNodeClusterSpec.awaitClusterUp
* Fixed some race conditions of barriers
2012-06-05 14:17:07 +02:00
Jonas Bonér
4acee03195 Merge branch 'master' into wip-2162-membership-change-listener-spec-jboner
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-04 23:32:27 +02:00
Jonas Bonér
391fed6594 Misc changes, fixes and improvements after review.
- Renamed all 'frequency' to 'interval'
- Split up NodeJoinAndUpSpec and into NodeJoinSpec and NodeUpSpec.
- Split up MembershipChangeListenerJoinAndUpSpec and into MembershipChangeListenerJoinSpec and MembershipChangeListenerUpSpec.
- Added utility method 'startClusterNode()'
- Fixed race in register listener and telling node to leave
- Removed 'after' blocks
- Cleaned up unused code
- Improved comments

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-04 23:21:28 +02:00
patriknw
ce332a9f96 Merge pull request #505 from akka/wip-2164-convergence-patriknw
Test gossip convergence, see #2164
2012-06-04 06:16:34 -07:00
Patrik Nordwall
b1c507f3b9 Shutdown does removeNode, see #2137 2012-06-04 14:56:16 +02:00
Patrik Nordwall
f30a1a0b1f Always removeNode when shutdown, see 2137 2012-06-04 14:29:32 +02:00
Patrik Nordwall
e4104cfd06 Replace 'after' barrier with explicit barrier inside test method.
* It's no problem using after, but scalatest will output the test method
  as completed (green) before running after, so it looks confusing in the logs
* Using unique barrier names adds extra traceability in case of failures.
2012-06-04 11:58:09 +02:00
Patrik Nordwall
52f122107c Fix shutdown/remove race as described by @rkuhn, see #2137
* Skip nodes removal
* Ignore removed client when enter barrier
* Change order of testConductor.shutdown and testConductor.removeNode
2012-06-04 11:48:03 +02:00
Jonas Bonér
20be83d0eb Merge branch 'master' into wip-2162-membership-change-listener-spec-jboner
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-04 10:42:57 +02:00
Jonas Bonér
e7cf92e72a Merge pull request #506 from akka/wip-2161-test-leave-the-cluster-gracefully-jboner
Added implementation of the LEAVE command for a cluster node plus misc tests
2012-06-04 01:39:22 -07:00
Jonas Bonér
8297e0132b Added comment to explain the increase in leader action frequency.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-04 10:38:10 +02:00
Jonas Bonér
beac5c5cff Fixed typo in config 2012-06-04 10:12:31 +02:00
Jonas Bonér
ead5bf8695 Added test for testing that MemberChangeListener is triggered by node LEAVING event.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-02 17:37:41 +02:00
Jonas Bonér
5dc039b0f1 Added test for testing that MemberChangeListener is triggered by node JOINING and UP events.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-02 17:37:29 +02:00
Jonas Bonér
bcc6e4c11f Added test for testing that MemberChangeListener is triggered by node EXITING event.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-02 17:37:13 +02:00
Jonas Bonér
d1fb1b9252 Changed name of test files to end with *Spec.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-02 17:36:10 +02:00
Jonas Bonér
e0fbf2f324 Renamed the NodeStartupSpec to NodeJoinAndUpSpec and added tests for both JOINING and UP.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-01 18:06:43 +02:00
Jonas Bonér
505e0717b9 Made the timeout for test dilated 2012-06-01 17:25:27 +02:00
Jonas Bonér
a3d48339ca Added test for testing cluster node transitioning from UP -> LEAVING -> EXITING -> REMOVED.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-01 16:51:18 +02:00
Jonas Bonér
3ac39cce95 Added test for testing cluster node transitioning from UP -> LEAVING -> EXITING.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-01 16:50:56 +02:00
Jonas Bonér
de8bb7d96f Added test for testing cluster node transitioning from UP -> LEAVING.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-06-01 16:50:34 +02:00