Commit graph

203 commits

Author SHA1 Message Date
Roland
5de2ca7aa5 remove Actor.preRestart(cause: Throwable)
- adapt all internal uses (all tests green)
- start migration guide for 2.0 with this change
2011-07-03 22:19:34 +02:00
Jonas Bonér
e28db64def Disabled the migration test until race condition solved 2011-07-02 22:03:13 +02:00
Jonas Bonér
828f0355e1 1. Changed the internal structure of cluster meta-data and how it is stored in ZooKeeper. Affected most of the cluster internals which have been rewritten to a large extent. Lots of code removed.
2. Fixed many issues and both known and hidden bugs in the migration code as well as other parts of the cluster functionality.
3. Made the node holding the ClusterActorRef being potentially part of the replica set for the actor it is representing.
4. Changed and cleaned up ClusterNode API, especially the ClusterNode.store methods.
5. Commented out ClusterNode.remove methods until we have a full story how to do removal
6. Renamed Peter's PeterExample test to a more descriptive name
7. Added round robin router test with 3 replicas
8. Rewrote migration tests to actually test correctly
9. Rewrote existing round robin router tests, now more solid
10. Misc improved logging and documentation and ScalaDoc

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-07-02 18:18:48 +02:00
Peter Veentjer
9ee978f0f6 - moving the storage related file to the storage package
- added some return types to the Cluster.scala
2011-06-27 22:27:40 +03:00
Jonas Bonér
82391e728c Fixed broken support for automatic migration of actors residing on crashed node.
Also hardened the test for automatic migration of actors.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-27 18:57:48 +02:00
Jonas Bonér
fefb902350 Added 'private[cluster]' to all methods in ClusterNode API that deals with UUID.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-27 11:53:24 +02:00
Jonas Bonér
5a04095c6b Added multi-jvm test for ClusterDeployer 2011-06-27 08:51:54 +02:00
Jonas Bonér
7a5c95e44d Added tests for automatic actor migration when node is shut down.
Updated to modified version of ZkClient (0.3, forked and fixed to allow interrupting connection retry).

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-26 15:04:11 +02:00
Jonas Bonér
15addf2b87 Reorganized tests into matching subfolders.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-26 13:41:41 +02:00
Jonas Bonér
a0abd5ef57 Fixed problems with actor migration in cluster and added tests for explicit actor migration through API 2011-06-26 09:49:03 +02:00
Jonas Bonér
833238cd44 Added tests for storing, retrieving and removing custom configuration data in cluster storage.
Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-06-22 12:03:58 +02:00
Jonas Bonér
df8c4dac89 Added methods for Cluster.remove and Cluster.release that accepts ActorRef 2011-06-22 11:31:01 +02:00
Jonas Bonér
5d4f8b4bcb Added test scenarios to cluster registry test suite.
Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-06-22 11:04:32 +02:00
Jonas Bonér
4d31751793 Fixed clustered management of actor serializer.
Various renames and refactorings.
Changed all internal usages of 'actorOf' to 'localActorOf'.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-06-22 09:59:00 +02:00
Jonas Bonér
b93755080d Added test for Cluster ChangeListener: NodeConnected, more to come. Also fixed bug in Cluster 2011-06-17 16:07:41 +02:00
Jonas Bonér
241831c5ee Added some more localActorOf methods and use them internally in cluster 2011-06-17 12:07:45 +02:00
Jonas Bonér
1997d971a0 Added 'localActorOf' method to get an actor that by-passes the deployment. Made use of it in EventHandler 2011-06-17 11:56:08 +02:00
Jonas Bonér
549f33a3ff Improved error handling in Cluster.scala 2011-06-17 10:25:02 +02:00
Jonas Bonér
bf0515b8e5 Fixed remaining issues in pluggable serializers (cluster impl) 2011-06-14 19:35:18 +02:00
Jonas Bonér
04bf416ead Merge branch 'master' into pluggable-serializer 2011-06-14 14:41:24 +02:00
Jonas Bonér
26500bed09 1. Removed implicit scoped timeout in ? method.
Reason: 'pingPongActor.?(Ping)(timeout = TimeoutMillis)' breaks old user code and is so ugly. It is not worth it. Now user write (as he used to): 'pingPongActor ? (Ping, TimeoutMillis)'
2. Fixed broken Cluster communication
3. Added constructor with only String arg for UnhandledMessageException to allow client instantiation of remote exception

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-14 14:26:13 +02:00
Viktor Klang
9c1a50ba2c Refactoring the use of !! to ?+.get for Akka internal code 2011-06-13 15:29:35 +02:00
Viktor Klang
fa0478bc32 Replacing !!! with ? 2011-06-13 13:43:21 +02:00
Debasish Ghosh
f27e23bf1d Merged with master 2011-06-13 13:35:39 +05:30
Jonas Bonér
8098a8d9be Added storage models to remote protocol and refactored all clustering to use it.
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-10 16:31:24 +01:00
Jonas Bonér
85e742373a - Made ClusterActorRef not extends RemoteActorRef anymore
- Refactored and cleaned up Transaction Log initialization

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-07 20:10:08 -07:00
Jonas Bonér
04efc440d6 1. Made LocalActorRef aware of replication
2. Added configuration for transaction log replication
3. Added replication schemes WriteThrough and WriteBehind
4. Refactored serializer creation and lookup in Actor.scala
5. Extended network protocol with replication strategy
6. Added BookKeeper management to tests
7. Improved logging and error messages
8. Removed ReplicatedActorRef
9. Added snapshot management to TransactionLog

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-06-07 11:10:29 -07:00
Debasish Ghosh
40d1ca6da2 Issue #595: Pluggable serializers - basic implementation 2011-06-07 06:36:21 +05:30
Jonas Bonér
112ddefd7d refactoring and minor edits 2011-05-30 10:53:25 +02:00
Jonas Bonér
abe6047284 Minor changes and some added FIXMEs 2011-05-25 17:41:53 +02:00
Jonas Bonér
e6fa55b3a8 - Changed implementation of Actor.actorOf to work in the the new world of cluster.ref, cluster.use and cluster.store.
- Changed semantics of replica config. Default replicas is now 0. Replica 1 means one copy of the actor is instantiated on another node.
- Actor.remote.actorFor/Actor.remote.register is now separated and orthogonal from cluster implementation.
- cluster.ref now creates and instantiates its replicas automatically, e.g. it can be created first and will then set up what it needs.
- Added logging everywhere, better warning messages etc.
- Each node now fetches the whole deployment configuration from the cluster on boot.
- Added some config options to cluster

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-25 16:18:35 +02:00
Jonas Bonér
f75dcdbd15 Full clustering circle now works, remote communication.
Added test for cluster communication.
Refactored deployment parsing.
Added InetSocketAddress to remote protocol.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-24 19:04:25 +02:00
Jonas Bonér
7f455fd92e removed duplicated NodeAddress 2011-05-23 23:48:25 +02:00
Jonas Bonér
ddb2a69c19 Moved ClusterNode interface, NodeAddress and ChangeListener into akka-actor as real Trait instead of using structural typing.
Refactored boot dependency in Cluster/Actor/Deployer.
Added multi-jvm test for testing clustered actor deployment, check out as LocalActorRef and ClusterActorRef.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-23 22:35:01 +02:00
Viktor Klang
d84a169747 Removing excessive allocations and traversal 2011-05-21 17:30:16 +02:00
Viktor Klang
00f837418f Reformatting and some cleanup of the Cluster.scala code 2011-05-21 16:55:32 +02:00
Viktor Klang
3181905fed Renaming EBEDD to Dispatcher, EBEDWSD to BalancingDispatcher, ThreadBasedDispatcher to PinnedDispatcher and PEBEDD to PriorityDispatcher, closing ticket #784 2011-05-20 22:56:30 +02:00
Jonas Bonér
cd18e72342 Fixed issues with 'ClusterNode.use(address): ActorRef'.
Various other fixes and minor additions.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-20 17:13:39 +02:00
Jonas Bonér
f0be165a07 Refactored and changed boot of Cluster and ClusterDeployer.
Fixed problems with ClusterDeployerSpec and ClusterMultiJvmSpec.
Removed all akka-remote tests and samples (needs to be rewritten later).
Added Actor.cluster member field.
Removed Actor.remote member field.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-20 14:36:26 +02:00
Jonas Bonér
b95382c3e2 Merge branch 'wip-new-serialization' 2011-05-20 09:31:57 +02:00
Jonas Bonér
b63709d82c Removed typeclass serialization in favor of reflection-based.
Removed possibility to create multiple ClusterNode, now just one in Cluster.node.
Changed timestamp format for default EventHandler listener to display NANOS.
Cleaned up ClusterModule in ReflectiveAccess.

Signed-off-by: Jonas Bonér <jonasremove@jonasboner.com>
2011-05-20 09:08:11 +02:00
Viktor Klang
c49498f463 Merge with master 2011-05-19 14:30:41 +02:00
Viktor Klang
236d8e07e9 Removing the old typed actors 2011-05-19 14:29:21 +02:00
Jonas Bonér
76d9c3c33a 1. Added docs on how to run the multi-jvm tests
2. Fixed cyclic dependency in deployer/cluster boot up
3. Refactored actorOf for clustered actor deployment, all actorOf now works
2011-05-19 10:58:30 +02:00
Jonas Bonér
a7311c83e6 Added Scalariform sbt plugin which formats code on each compile. Also checking in reformatted code 2011-05-18 17:25:30 +02:00
Peter Veentjer
8f7bd6909a - more style related cleanup 2011-05-18 12:25:27 +02:00
Peter Veentjer
e7d1eaf15c - more style related cleanup 2011-05-18 08:37:58 +02:00
Jonas Bonér
7cf3d0876d Added tests for usage of cluster actor plus code backing the test.
Added more cluster API to ReflectiveAccess.
Plus misc refactorings and cleanup.
2011-05-17 11:05:09 +02:00
Jonas Bonér
6c6089e081 Misc fixes everywhere; deployment, serialization etc. 2011-05-16 09:47:23 +02:00
Jonas Bonér
bd5cc53235 Clustered deployment in ZooKeeper implemented. Read and write deployments from cluster test passing. 2011-05-03 21:04:45 +02:00