Commit graph

37 commits

Author SHA1 Message Date
Patrik Nordwall
1df787d0c5 Incorporate review comments and cleanup isAvailable, see #2018
* Renamed isRunning to isTerminated (with negation of course)
* Removed Running from JMX API, since the mbean is deregistered anyway
* Cleanup isAvailable, isUnavailbe
* Misc minor
2012-12-06 15:26:57 +01:00
Patrik Nordwall
1914be7069 Merge branch 'master' into wip-2547-metrics-router-patriknw
Conflicts:
	akka-actor/src/main/scala/akka/actor/Deployer.scala
	akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala
	akka-cluster/src/test/scala/akka/cluster/MetricsCollectorSpec.scala
2012-11-15 12:33:11 +01:00
Roland
bff79c2f94 Merge remote-tracking branch 'origin/master' into wip-2.10.0-RC1-∂π
- currently cheating: uses zeroMQ artifacts for scala 2.10M7
- fixed a bunch of more wrong references to scala.concurrent.util
2012-10-15 16:18:52 +02:00
Roland
0f04239f67 move Duration classes according to scala 2.10 nightly and remove casts to FiniteDuration, see #2504 2012-10-11 15:18:10 -07:00
Patrik Nordwall
668d5a5013 Merge branch 'master' into wip-2284-heartbeat-scalability-patriknw
Conflicts:
	akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala
2012-10-09 18:11:36 +02:00
Patrik Nordwall
1f3341713f Remove cluster.FixedRateTask, see #2606 2012-10-08 12:17:40 +02:00
Patrik Nordwall
3f73705abc Use consistent hash to heartbeat to a few nodes instead of all, see #2284
* Previously heartbeat messages was sent to all other members, i.e.
  each member was monitored by all other members in the cluster.
* This was the number one know scalability bottleneck, due to the
  number of interconnections.
* Limit sending of heartbeats to a few (5) members. Select and
  re-balance with consistent hashing algorithm when new members
  are added or removed.
* Send a few EndHeartbeat when ending send of Heartbeat messages.
2012-10-08 08:41:28 +02:00
Patrik Nordwall
cecde67226 Move heartbeat sending out from ClusterCoreDaemon, see #2284 2012-10-08 08:41:28 +02:00
Patrik Nordwall
49b9ec6c2c Publish cluster metrics through the publisher actor.
* To avoid ordering surprises metrics should be published via
  the same actor that handles the subscriptions and publishes
  other cluster domain events.
* Added missing publish in case of removal of member
  (had a test failure for that)
2012-10-02 17:08:38 +02:00
Patrik Nordwall
51ff9ce6d1 Cluster.unsubscribe with class parameter, see #2567 2012-09-28 13:09:36 +02:00
Helena Edelson
dbce1c8b85 Cluster metrics internal API and cluster-wide transport of metrics data.
* Create Cluster Metrics API
* Create transport of relevant metrics data
Does not include load-balancing routers.
2012-09-24 13:07:11 -06:00
Roland
35b7a9e338 second round of FiniteDuration business, including cluster fixes
- make Scheduler only accept FiniteDuration, which has quite some
  knock-on effects
2012-09-18 09:58:30 +02:00
Patrik Nordwall
50d0efe7d4 Request send/publish of CurrentClusterState, see #2438
* Added publishCurrentClusterState and sendCurrentClusterState
* Removed Ping/Pong that was used for some tests, since awaitCond is
  now needed anyway, since publish to eventStream is done afterwards
2012-09-12 09:23:02 +02:00
Patrik Nordwall
83e7f5d6d6 Incorparate review comments, see #2473
* Also added ClusterSettings in constructor of ClusterDaemon,
  because that will be needed to decide if the metrics actor is
  to be started
2012-09-07 17:42:15 +02:00
Patrik Nordwall
bd6c39178c Fix leaking this in constructor of Cluster, see #2473
* Major refactoring to remove the need to use special
  Cluster instance for testing. Use default Cluster
  extension instead. Most of it is trivial changes.
* Used failure-detector.implementation-class from config
  to swap to Puppet
* Removed FailureDetectorStrategy, since it doesn't add any value
* Added Cluster.joinSeedNodes to be able to test seedNodes when Addresses
  are unknown before startup time.
* Removed ClusterEnvironment that was passed around among the actors,
  instead they use the ordinary Cluster extension.
* Overall much cleaner design
2012-09-06 21:48:40 +02:00
Patrik Nordwall
602852ba12 Some clarifications from review, see #1916 2012-08-31 12:27:17 +02:00
Patrik Nordwall
20a038fdfd Fine grained events, see #2202
* Defined the domain events in ClusterEvent.scala file
* Produce events from diff  and publish publish to event bus
  from separate actor, ClusterDomainEventPublisher
* Adjustments of tests
2012-08-21 15:35:38 +02:00
Patrik Nordwall
6d1631aa8c Members ordered by address only, see #2405
* The special ordering of status Exiting makes ordering and equals
  inconsistent
* Take the Exiting status into account when looking for leader
2012-08-19 21:48:39 +02:00
Patrik Nordwall
1700edb863 Merge branch 'master' into wip-2202-cluster-domain-events-patriknw
Conflicts:
	akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala
2012-08-16 18:54:10 +02:00
Patrik Nordwall
846b8543fb Make SeenChanged internal api, see #2202 2012-08-16 10:08:07 +02:00
Patrik Nordwall
4501120ff3 Incorporate review comments, see #2270 2012-08-15 17:31:36 +02:00
Patrik Nordwall
f3035bf8b7 sealed ClusterDomainEvent, see #2202 2012-08-15 17:28:10 +02:00
Patrik Nordwall
06f81f4373 Improve publish of domain events, see #2202
* Gossip is not exposed in user api
* Better and more events
* Snapshot event sent to new subscriber
* Updated tests
* Periodic publish only for internal stats
2012-08-15 16:47:34 +02:00
Patrik Nordwall
963c9a4e3e Clarify JoinSeedNodeProcess, see #2270
* Implemented without ScatterGatherFirstCompletedRouter, since
  that is more straightforward and might cause less confusion
* Added more description of what it does
2012-08-15 08:21:39 +02:00
Patrik Nordwall
dfba5839c6 sealed Tick, see #2270 2012-08-14 17:30:49 +02:00
Patrik Nordwall
4f1f900e40 Join seed node in separate actor, see #2270 2012-08-14 17:26:33 +02:00
Patrik Nordwall
bc4d8fc7c5 Remove ClusterEventBus and system.eventStream, see #2202 2012-08-14 15:33:34 +02:00
Patrik Nordwall
d7b0089d7e Support concurrent startup of seed nodes, see #2270
* Implemented the startup sequence of seed nodes as
  described in #2305
* Test that verifies concurrent startup of seed nodes
2012-08-14 15:16:23 +02:00
Patrik Nordwall
e38dd80f38 Publish cluster changes to event bus, see #2202
* ClusterEventBus
* Removed register listener and related
* Removed Gossip.meta because it doesn't handle version conflicts
2012-08-14 11:03:30 +02:00
Patrik Nordwall
d9a6c8a44a Remove workaround for SortedSet bug SI-5986, see #2286 2012-08-13 10:10:33 +02:00
Viktor Klang
9d097bcf50 Making it possible/mandatory to signal which ExecutionContext will actually execute something scheduled 2012-08-08 15:57:30 +02:00
Viktor Klang
f41786f171 Merging with master 2012-07-12 00:34:51 +02:00
Viktor Klang
df2389f3bf Merge branch 'master' into wip-scala210M4-√ 2012-07-11 23:31:07 +02:00
Viktor Klang
f1375b6bfb Making some changes in the cluster code to avoid doing work that isn't needed 2012-07-07 20:55:02 +02:00
Viktor Klang
ac5b5de90a Merging in master, huge work trying to get things to compile, tests not green at this stage 2012-07-06 17:04:04 +02:00
Patrik Nordwall
f88ca9c9fc Remove workaround for the strange gossip merge, see #2303
* Can't reproduce with the actor based Cluster, it was easy
  to reproduce before.
* If it still is a problem it will be detected by the runtime
  assert. It will show up as:
  IllegalArgumentException: Nodes not part of cluster have marked the Gossip as seen
2012-07-05 16:05:16 +02:00
Patrik Nordwall
01ee8e8fbf Separate Cluster to several files, see #2311
* Introduced ClusterEnvironment trait to make it easier to test
  the actors without using the extension
* Incorparate more feedback from review
2012-07-05 13:57:44 +02:00