Roland
25e8eb1422
teach new tricks to old FaultHandlingStrategy
...
- Escalate explicitly does the previous non-handled case
- Restart does the obvious
- Stop just terminates the child (useful for
ActorInitializationException or “temporary” actors)
- Resume directly resumes the child (immortal actors)
- trapExit list replaced by Decider (total function cause=>action)
- there are factories which accept (most of) the old inputs
- can build a sorted list of (cause, action)-pairs to make a Decider
which picks the action for the most specific enclosing cause type
Also add DeathPactException for case of unhandled Terminated message.
2011-10-19 11:36:34 +02:00
Roland
10c87d5832
split out fault handling stuff from ActorCell.scala to
...
FaultHandling.scala
2011-10-19 11:36:06 +02:00
Roland
5c823ad50d
replace ConcurrentLinkedQueue with single-linked list for Mailbox.systemQueue
...
cost zero when empty, non-blocking, shave off 84 bytes per actor
2011-10-18 21:21:19 +02:00
Viktor Klang
01efcd7b50
Removing ActorCell.ref (use ActorCell.self instead), introducing Props.randomAddress which will use the toString of the uuid of the actor ref as address, bypassing deployer for actors with 'randomAddress' since it isn't possible to know what the address will be anyway, removing Address.validate since it serves no useful purpose, removing guard.withGuard in MessageDispatcher in favor of the less costly lock try-finally unlock strategy
2011-10-18 19:14:42 +02:00
Viktor Klang
474787a81d
Renaming createActor to actorOf
2011-10-18 17:56:23 +02:00
Viktor Klang
3f258f8b63
Merge branch 'master' of github.com:jboner/akka
2011-10-18 17:00:11 +02:00
Viktor Klang
6150beb333
Pushing the memory per actor down to 464 bytes. Returning None for the Deploy if there is no config
2011-10-18 16:59:57 +02:00
Roland
df29faca2d
merge in Viktor’s dispatcher uuid map removal
2011-10-18 16:47:07 +02:00
Roland
183dfb4d7f
remove SystemEnvelope
...
- channel field was always set to NullChannel and not used
- receiver field is better put into the Mailbox, because there it takes
space only once per actor
- leaves only the bare SystemMessage to be queued
2011-10-18 16:44:35 +02:00
Viktor Klang
304d39d839
Removing uuid tracking in MessageDispatcher, isn't needed and will be reducing the overall memory footprint per actor
2011-10-18 15:09:35 +02:00
Viktor Klang
65868d7c96
Making sure that the RemoteActorRefProvider delegates systemServices down to the LocalActorRefProvider
2011-10-18 14:21:48 +02:00
Viktor Klang
1c3b9a389b
Adding clarification to DeathWatchSpec as well as making sure that systemServices aren't passed into the deployer
2011-10-18 14:00:46 +02:00
Viktor Klang
7a6508973f
Adding extra output to give more hope in reproducing weird test failure that only happens in Jenkins
2011-10-18 12:40:44 +02:00
Viktor Klang
cb8a0adbb8
Switching to a cached version of Stack.empty, saving 16 bytes per Actor. Switching to purging the Promises in the ActorRefProvider after successful creation to conserve memory. Stopping to clone the props everytime to set the application default dispatcher, and doing a conditional in ActorCell instead.
2011-10-18 11:26:35 +02:00
Viktor Klang
4e960e5364
Changing so that the mailbox status is ack:ed after the _whole_ processing of the current batch, which means that Akka only does 1 volatile write per batch (of course the backing mailboxes might do their own volatile writes)
2011-10-17 19:33:19 +02:00
Viktor Klang
fa1a2610a7
Removing RemoteActorSystemMessage.Stop in favor of the sexier Terminate message
2011-10-17 19:31:59 +02:00
Viktor Klang
379515771b
Tidying up some superflous lines of code in Scheduler
2011-10-17 19:31:04 +02:00
Viktor Klang
bd39ab0816
Merge branch 'master' of github.com:jboner/akka
2011-10-17 18:35:48 +02:00
Viktor Klang
050411bf3b
Making a Java API for Scheduler (JScheduler) and an abstract class Scheduler that extends it, to make the Scheduler pluggable, moving it into AkkaApplication and migrating the code.
2011-10-17 18:35:36 +02:00
Roland
f75d16f710
fix small naming errors in supervision.rst
2011-10-17 17:59:04 +02:00
Roland
ab4f62cebe
add first draft of supervision spec
2011-10-17 16:17:28 +02:00
Viktor Klang
2270395d3f
Adding try-finally in the system message processing to ensure that the cleanup is performed accurately
2011-10-17 14:53:32 +02:00
Viktor Klang
3dc84a0229
Renaming InVMMonitoring to LocalDeathWatch and moved it into AkkaApplication, also created a createDeathWatch method in ActorRefProvider so that it's seeded from there, and then removed @volatile from alot of vars in ActorCell since the fields are now protected by the Mailbox status field
2011-10-17 14:32:31 +02:00
Viktor Klang
3a543ed23d
Relized that setAsIdle doesn't need to call acknowledgeStatus since it's already called within the systemInvoke and invoke
2011-10-15 16:52:28 +02:00
Jonas Bonér
36cd652581
Removing Gossiper. Was added prematurely by mistake.
...
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-10-14 15:23:35 +02:00
Jonas Bonér
44e460bff3
Merge branch 'master' of github.com:jboner/akka
2011-10-14 15:11:43 +02:00
Jonas Bonér
88edec35ef
Vector clock implementation, including tests. To be used in Gossip protocol.
...
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-10-14 15:11:31 +02:00
Viktor Klang
5788ed4281
Renaming link/unlink to startsMonitoring/stopsMonitoring
2011-10-14 15:09:46 +02:00
Viktor Klang
07a7b27386
Cleaning up a section of the ActorPool
2011-10-14 14:28:55 +02:00
Peter Vlugter
d4619b0863
Merge master into tame-globals branch
2011-10-13 18:15:09 +02:00
Peter Vlugter
d9e0088f3c
Get remoting working under the remote actor ref provider
2011-10-13 18:08:09 +02:00
Roland
e94860b57b
fix remaining issues apart from multi-jvm
...
- use proper config method in FSMActorSpec
- re-enable LoggingReceiveSpec and fix it
- fix ordering bug in AkkaApplication
- fix stupid bug in Switch.transcend
2011-10-13 16:53:16 +02:00
Viktor Klang
c5ed2a8f21
Making so that if the given address to a LocalActorRef is null or the empty string, it should use the toString of the uuid
2011-10-13 16:36:47 +02:00
Roland
9e8091459b
rename application to app everywhere to make it consistent
2011-10-13 14:23:44 +02:00
Viktor Klang
54b70b1017
Removing pointless AtomicReference since register/unregister is already lock protected
2011-10-13 14:18:16 +02:00
Roland
44b94643e5
Merge with Peter's work (i.e. merging master into tame-globals)
2011-10-13 14:17:07 +02:00
Roland
3709a8f828
fix akka-docs compilation, remove duplicate applications from STM tests
2011-10-13 13:53:09 +02:00
Peter Vlugter
317b8bc03b
Merge master into tame-globals branch
2011-10-13 13:41:44 +02:00
Roland
85b7accfd4
make EventHandler non-global
...
- add Logging trait for nicer interface
- add EventHandlerLogging class for offering the nice interface from
app.log
- add eventHandler instance to app and use that for all internal logging
(this means that some places (dispatchers, remoting) were infiltrated
by app just to do logging, but I think we'll need app in there soon
enough for other reasons)
2011-10-13 13:21:59 +02:00
Jonas Bonér
faa5b08dde
Merge branch 'master' of github.com:jboner/akka
2011-10-13 12:09:02 +02:00
Jonas Bonér
19cc618317
Simplified (and improved speed) of PHI calculation in AccrualFailureDetector, according to discussion at https://issues.apache.org/jira/browse/CASSANDRA-2597 .
...
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-10-13 12:06:08 +02:00
Patrik Nordwall
963ea0d9b2
Added sampling of latency measurement
2011-10-12 21:26:25 +02:00
Patrik Nordwall
045b9d96c6
Added .cached to .gitignore
2011-10-12 20:39:59 +02:00
Viktor Klang
3567d554fb
Adding documentation for the ExecutorService and ThreadPoolConfig DSLs
2011-10-12 18:21:12 +02:00
Viktor Klang
c950679fd8
#1285 - Implementing different internal states for the DefaultPromise
2011-10-12 16:29:33 +02:00
Peter Vlugter
e25ee9f0e2
Fix remote main compile and testkit tests
2011-10-12 15:36:10 +02:00
Roland
e2f9528bc0
fix compilation of akka-docs
2011-10-12 15:25:04 +02:00
Peter Vlugter
fa94198656
Fix remaining tests in akka-actor-tests
2011-10-12 15:15:17 +02:00
Roland
f7c1123dab
pre-fix but disable LoggingReceiveSpec: depends on future EventHandler rework
2011-10-12 15:08:06 +02:00
Roland
e5d24b0f17
remove superfluous AkkaApplication.akkaConfig() method (can use AkkaConfig() instead)
2011-10-12 15:07:39 +02:00