Commit graph

12466 commits

Author SHA1 Message Date
viktorklang
b6d23ae564 Merge pull request #359 from havocp/config-classloader
Cherry-pick ConfigFactory class loader fixes to com.typesafe.config
2012-03-01 00:47:14 -08:00
Viktor Klang
4cea8ee83e Sprinkling stardust 2012-03-01 01:16:43 +01:00
Viktor Klang
bad77feac9 Artistic reinterpretation 2012-03-01 00:55:50 +01:00
Roland
150b6b0110 little polish for TerminatingChildrenContainer 2012-02-29 21:31:50 +01:00
Roland
64b523638e rework childrenRefs to make context.stop(child) fully asynchronous
- replace TreeMap with custom ChildrenContainer, which has three
  implementations: empty, normal and “terminating” (i.e. waiting for
  some child to terminate)
- split recreate() in the same way as terminate(), so that there is a
  phase during which the suspended actor waits for termination of all
  children which were stopped in preRestart
- do not null out “actor” in ActorCell during restart, because we do
  need the supervisionStrategy and nulling it out does not buy us much
  in this case anyway
- provide new ActorContext.suspendForChildTermination(), which enters
  limbo for as long there are outstanding termination requests; this
  enables code which is very similar to previously (half-working) setups
  with “synchronous” context.stop(child)

docs are still missing, plus a little polishing here and there; oh, and
before I forget: ActorCell NOW is 64 bytes again ;-)
2012-02-29 21:10:31 +01:00
Havoc Pennington
9df6080196 Cherry-pick ConfigFactory class loader fixes to com.typesafe.config
This is commit 9733578ebbce6fc00b9e611540c3f24b76289911 and
commit 30bdac884b4ef256242db7e4fcee44df9f9921de from
typesafehub/config. Default and reference configs are no
longer cached, and use the thread's context class loader
instead of ConfigImpl.class.getClassLoader().
2012-02-29 13:50:08 -05:00
Viktor Klang
f654d5d808 Re-adding the twitter repo since it is needed, sigh 2012-02-29 13:55:53 +01:00
Viktor Klang
fc78ebcf34 Removing wasteful repos 2012-02-29 11:49:30 +01:00
Jonas Bonér
06ec519c7c Reverted two lines of code mistakenly pushed to early.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-29 11:34:11 +01:00
Jonas Bonér
14d7632771 Cleaned up failure detector fixing minor issues after review. Renamed internal classes in Node.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-29 10:02:00 +01:00
Jonas Bonér
e91af31fb9 Added FSM to the Node's ClusterCommandDaemon to manage the cluster command state as an FSM. Also added tests for all the FSM state changes.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 17:04:48 +01:00
viktorklang
4c8048588f Merge pull request #358 from jboner/wip-1872-Locker-∂π
fix shutdown of remote routers, see #1872
2012-02-28 06:57:09 -08:00
Roland
8a5db512f3 fix shutdown of remote routers, see #1872
- ActorCell.stop(actor) removed the actor from childrenRefs before
  handleChildTerminated, leading to removing from Locker immediately
  after adding it in
- intercept ChildTerminated message in RemoteTransport.receive if
  destination is not found (i.e. isTerminate==true) and re-route to
  Locker, which was changed to support path-based lookup to find the
  parent and funnel the ChildTerminated to its intended destination
- add Locker.shutdown() to detach remaining actors from their
  dispatchers upon system termination.
2012-02-28 15:48:02 +01:00
Jonas Bonér
96ed8bdccf Added 'akka.cluster' package object with implicit conversion which creates an augmented 'ActorSystem' with a method 'def node: Node'.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 12:57:27 +01:00
Viktor Klang
decfe8b935 Merge branch 'master' of github.com:jboner/akka 2012-02-28 12:28:31 +01:00
Viktor Klang
51ea522580 Removing reduntant reduntancy. 2012-02-28 12:28:26 +01:00
Jonas Bonér
517981101f Added docs about how to enable 'long-running' and 'timing' tests.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:46:37 +01:00
Jonas Bonér
8069813cb9 Merge branch 'wip-cluster-membership-jboner' of github.com:jboner/akka into wip-cluster-membership-jboner
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:46:13 +01:00
Jonas Bonér
da5a5d1316 Added ensime files to .gitignore. Plus fixed error from merge.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:39:10 +01:00
Jonas Bonér
a62755c5da Turned cluster Node into an Extension.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
e4b1d8609f Added support for 'deputy-nodes'.
* Added 'nr-of-deputy-nodes' config option
* Added fetching of current deputy node addresses
* Minor refactorings

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
83c97d08da Added support for "leader election", the isLeader method and leader election tests. Also fixed bug in scrutinizer not maintaining the 'seen' map.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
3c2f5ab93c Renamed Gossiper to Node (and selfNode to vclockNode).
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
2c67a6d50d Split up ClusterDaemon into ClusterGossipDaemon (routed with configurable N instances) and ClusterCommandDaemon (shortly to be an FSM). Removed ConnectionManager crap.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
0d022afa5e Created test tag LongRunningTest ("long-running") for excluding long running (cluster) tests from standard suite.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
0e6d272a8d Added support for checking for Cluster Convergence and completed support for MembershipChangeListener (including tests).
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
cfd04bba3d Fixed remaining issues with gossip based failure detection and removal of unreachable nodes.
* Completed gossip based failure detection.
* Completed removal of unreachable nodes according to failure detector.
* Added passing tests.
* Misc other fixes, more logging, more comments.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
db1e1da7e7 Added testkit time ratio sensitive durations.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
c24485040d Removed printed stack trace from remote client/server errors. Just annoying when client hangs retrying and does not provide any real value since they are the same every time.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:15:53 +01:00
Jonas Bonér
bc70db4bb0 Fixed error in merge.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:26 +01:00
Jonas Bonér
84f886def1 Merged with master 2012-02-28 11:14:26 +01:00
Jonas Bonér
07defa71a4 Fixed bug in failure detector which also fixes bug in cluster scrutinize service. Also added test case for the bug.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:26 +01:00
Jonas Bonér
709c86b48d Disabling out erroneous cluster 'scrutinize' service until fixed and proper tests are written.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:26 +01:00
Jonas Bonér
b36a6987f6 Renamed NodeGossipingSpec to NodeMembershipSpec since it is testing consistency of the cluster node membership table
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
a2785bc89e Finalized initial cluster membership and merging of vector clocks and gossips in case of concurrent cluster updates. Plus misc other fixes.
* Finalized initial cluster membership.
* Added merging of vector clocks and gossips in case of concurrent cluster updates.
* Added toString methods to all cluster protocol classes
* Fixed bugs in incrementation of vector clocks
* Added updates of 'seen' table for cluster convergence
* Revamped to use new VectorClock impl
* Refactored Gossip.State

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
5f537a7d4c Rewrite of the VectorClock impl. Now with 'merge' support and slicker API. Also added more tests.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
9de7a2daae Added NodeGossipingSpec for testing gossiping and cluster membership.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
cb9ce7b663 Implemented 'receive(newGossip)' plus misc other changes and fixes.
* Implemented 'receive(newGossip)'
* Added GossipEnvelope
* Added MetaDataChangeListener
* Changed MembershipChangeListener API
* Changed most internal API to work with Address rather than Member
* Added builder style API to Gossip for changing it in an immutable way
* Moved 'self: Member' from Gossip to State

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
9aa5b08f38 Added 'or' method to Versioned.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
ccba27a829 Refactored Gossip state and management. Introduced GossipOverview with convergence info, renamed some fields, added some new cluster commands.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
84f63db0ae Skips gossipping and cluster scrutinization if singleton cluster.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
379e9b9219 Switching node status to Up if singleton cluster. Added 'switchStatusTo' method. Updated the test. Profit.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
0413b44c98 Completed singleton and N-node cluster boot up and joining phase.
* Simplified node join phase.
* Added tests for cluster node startup and joining, both for singleton cluster and 2-node cluster.
* Fixed bug in cluster node address and cluster daemon lookup.
* Changed some APIs.
* Renamed 'contact-point' to 'node-to-join'.
* Minor refactorings.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
3b5c5e5f0f Removed cluster seed nodes, added 'join.contact-point', changed joining phase, added singleton cluster mode plus misc other changes.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:25 +01:00
Jonas Bonér
bf7c307424 Changes to cluster specification.
- Added section on single-node cluster.
- Changed seed nodes to deputy nodes.
- Seed nodes are no longer used as contact points only to break logical partitions.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:24 +01:00
Jonas Bonér
75c1b5717c Completed singleton and N-node cluster boot up and joining phase.
* Simplified node join phase.
* Added tests for cluster node startup and joining, both for singleton cluster and 2-node cluster.
* Fixed bug in cluster node address and cluster daemon lookup.
* Changed some APIs.
* Renamed 'contact-point' to 'node-to-join'.
* Minor refactorings.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:24 +01:00
Jonas Bonér
bb0e5536be Removed cluster seed nodes, added 'join.contact-point', changed joining phase, added singleton cluster mode plus misc other changes.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:14:24 +01:00
Jonas Bonér
5726481601 Changes to cluster specification.
- Added section on single-node cluster.
- Changed seed nodes to deputy nodes.
- Seed nodes are no longer used as contact points only to break logical partitions.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2012-02-28 11:13:31 +01:00
Roland
73170d1f4b Merge remote-tracking branch 'origin/master' into testing-2.9.2 2012-02-28 10:52:27 +01:00
Viktor Klang
db6bad7fc0 spelling 2012-02-28 10:32:14 +01:00