Commit graph

147 commits

Author SHA1 Message Date
Konrad Malawski
2c606383e5 Merge pull request #17763 from ktoso/wip-17690-validations-in-root-actor-path-ktoso
=act #17690 add additional validation for name param in RootActorPath
2015-06-22 17:16:53 +02:00
Patrik Nordwall
b7297e2887 Merge pull request #17696 from akka/wip-15410-singleton-name-patriknw
!clt #15410 Change path in ClusterSingletonProxy.props
2015-06-18 12:45:22 +02:00
Patrik Nordwall
450a43e5dd Merge pull request #17742 from akka/wip-15644-persist-seq-patriknw
!per #15644 Rename persist(seq) to persistAll
2015-06-18 11:35:03 +02:00
Patrik Nordwall
23c28af469 !clt #15410 Change path in ClusterSingletonProxy.props
* to avoid giving the name of both singleton manager and singleton instance
2015-06-18 11:31:29 +02:00
Patrik Nordwall
a0e0c394fe !clt #15110 Use buffer instead of stash in cluster client
* drop first in ClusterClient
2015-06-18 11:18:35 +02:00
Patrik Nordwall
e2608e7cc2 !clt #15110 Use buffer instead of stash in singleton proxy
* drop first in singleton proxy
2015-06-18 11:18:24 +02:00
Konrad Malawski
e89402dda0 =act #17690 add additional validation for name param in RootActorPath 2015-06-18 10:46:16 +02:00
Patrik Nordwall
74b97b3bd4 !per #15644 Rename persist(seq) to persistAll 2015-06-16 15:26:48 +02:00
Patrik Nordwall
5fab2b4521 !cls #16422 Rename shardResolver and idExtractor 2015-06-16 13:38:57 +02:00
Patrik Nordwall
70024298ac !cls #16422 Rename Entry to Entity in sharding 2015-06-11 10:00:43 +02:00
Patrik Nordwall
8de24f38ca !cls #17158 Add configuration of sharding journal
* Use same type of settings object as in cluster-tools
* These settings can be different for different entity types
2015-06-11 10:00:41 +02:00
Patrik Nordwall
c1d5221bf8 !clt #17364 Make ShardRegion.props internal
* the extension api is enough
* simplify how roles are specified
* make proxy mode more explicit by seperate
  method `startProxy`
2015-06-11 10:00:41 +02:00
Konrad Malawski
d782cf59af !per #16797 rename defer to deferAsync, remove Seq version 2015-05-28 01:37:38 +02:00
kukido
ab0c60eca7 =doc Fixed and normalized spellings 2015-05-23 19:16:41 -07:00
Patrik Nordwall
bcb36c36d9 !con #15331 Support async allocateShard and rebalance 2015-05-19 13:53:07 +02:00
Patrik Nordwall
e8c5254d85 Merge pull request #17455 from akka/wip-17454-cluster-tools-settings-patriknw
!cto #17454 Add/change settings for cluster-tools
2015-05-19 13:30:44 +02:00
Patrik Nordwall
c57a8da744 !cto #17454 Introduce ClusterClientSettings and ClusterReceptionistSettings
* rename ClusterReceptionistExtension to ClusterClientReceptionist
2015-05-19 11:16:00 +02:00
Patrik Nordwall
b8594d475e !cto #17454 Introduce DistributedPubSubSettings
* rename DistributedPubSubExtension to DistributedPubSub
2015-05-19 08:59:16 +02:00
Patrik Nordwall
7ab5da21d3 !cto #17454 Introduce ClusterSingletonManagerSettings and ClusterSingletonProxySettings 2015-05-19 08:59:09 +02:00
Patrik Nordwall
a8687f9c4e =pro #16695 Update dependencies
io.netty:netty: 3.8.0.Final -> 3.10.3.Final
org.slf4j:slf4j-api: 1.7.7 -> 1.7.12
org.fusesource.leveldbjni:leveldbjni-all:optional;provided: 1.7 -> 1.8
org.apache.camel:camel-core: 2.13.0 -> 2.13.4

ch.qos.logback:logback-classic:test: 1.0.13 -> 1.1.3
junit:junit:test: 4.10 -> 4.12
org.scalatest:scalatest:test: 2.1.3 -> 2.2.4
org.mockito:mockito-all:test: 1.9.5 -> 1.10.19
org.scala-lang.modules:scala-xml:test: 1.0.1 -> 1.0.4
com.novocode:junit-interface:test : 0.8 -> 0.11
org.slf4j:jul-to-slf4j:test: 1.7.7  -> 1.7.12
org.slf4j:log4j-over-slf4j:test: 1.7.7  -> 1.7.12
com.codahale.metrics:metrics-core:test: 3.0.1  -> 3.0.2
com.codahale.metrics:metrics-jvm:test: 3.0.1  -> 3.0.2
org.scalacheck:scalacheck:test: 1.11.3 -> 1.11.6
org.apache.commons:commons-math:test: 2.1 -> 2.2
commons-codec:commons-codec:test: 1.7 -> 1.10
2015-05-19 08:37:54 +02:00
Patrik Nordwall
00a481adeb Merge pull request #17354 from akka/wip-17342-bc-patriknw
= #17342 Make 2.4 binary compatible with 2.3
2015-05-12 08:56:44 +02:00
Patrik Nordwall
b30e460be7 = #17342 Make 2.4 binary compatible with 2.3
(cherry picked from commit 89af8bdb90)

* remove final identifier in serializers

i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY

* adding back compatible empty constructor in serializers

* make FSM.State compatible

* add back ActorPath.ElementRegex

* revert SocketOption changes and add SocketOptionV2
  see a6d3704ef6

* problem filter for ActorSystem and ActorPath

* problem filter for ByteString

* problem filter for deprecated Timeout methods

* BalancingPool companion

* ask

* problem filter for ActorDSL

* event bus

* exclude hasSubscriptions

* exclude some problems in testkit

* boundAddress and addressFromSocketAddress

* Pool nrOfInstances

* PromiseActorRef

* check with 2.3.9

* migration guide note

* explicit exclude of final class problems
2015-05-11 21:11:52 +02:00
Patrik Nordwall
10a11e415e !cls #13711 Move cluster sharding 2015-05-11 20:07:22 +02:00
Patrik Nordwall
fb72214d99 !clt #13711 Move cluster tools from contrib
* new module akka-cluster-tools containing
  cluster singleton, distributed pub-sub, and cluster client
2015-05-11 20:07:21 +02:00
Patrik Nordwall
c6cb71a421 =ker #15677 Deprecate Microkernel 2015-04-01 12:01:07 +02:00
Patrik Nordwall
7aa9fe25f2 Merge pull request #17024 from carrot-garden/persistence-leveldb-dependency
!per #15884 Make LevelDB an optional dependency
2015-03-25 09:07:55 +01:00
Andrei Pozolotin
5c5e07ec4e !per #15884 Make LevelDB an optional dependency 2015-03-24 13:58:09 -05:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Andrei Pozolotin
18dfd39686 +per #15587 Make it possible to use multiple persistence plugins 2015-02-19 21:25:52 -06:00
Roland Kuhn
d9efd041f7 add akka-typed project with generic ActorRef
This is the first step towards more type-safety in Actor interactions,
comprising:

* generic ActorRef[T] that only accepts T messages
* generic ActorSystem[T] extends ActorRef[T] (sending to the guardian,
  whose Props[T] are provided for ActorSystem construction)
* removed the Actor trait: everything in there has been made into
  messages and signals
* new Behavior[T] abstraction that consumes messages (of type T) or
  Signals (lifecycle hooks, Terminated, ReceiveTimeout, Failed),
  producing the next Behavior[T] as the result each time
* the ask pattern is provided and yields properly typed Futures
* variants of ActorContext are provided for synchronous testing of
  Behaviors

All of this is implemented without touching code outside akka-typed
(apart from making guardianProps configurable), creating wrapper objects
around ActorRef, ActorContext, ActorSystem, Props and providing an Actor
implementation that just runs a Behavior.
2015-01-29 11:42:28 +01:00
Andrei Pozolotin
7b9f77a073 + akka-cluster-metrics: new akka module
* new akka module split from akka-cluster
* provide sigar provisioning
* fix ewma usage
* resolve #16121
* see #16354
2015-01-19 10:23:54 -06:00
Sergey Krauchenia
f08f1727fb =act, ker, rem, doc #16330 deprecate akka.util.Crypt
* deprecate akka.util.Crypt
* fix documentation after deprecating
2014-12-20 13:30:37 +03:00
Patrik Nordwall
c566d5a106 per #15423 Remove deprecated features from akka-persistence
* remove channels
* remove View
* remove Processor
* collapse the complicated internal state management
  that was spread out between Processor, Eventsourced and Recovery
* remove Recovery trait, this caused some duplication between Eventsourced
  and PersistentView, but but the enhanced PersistentView will not be based
  on recovery infrastructure, and therefore PersistentView code will be replaced anyway
* remove PersistentBatch
* remove LoopMessage
* remove deleteMessages of individual messages
* remove Persistent, PersistentRepr and PersistentImpl are kept
* remove processorId
* update doc sample code
* note in migration guide about persistenceId
* rename Resequencable to PersistentEnvelope
2014-12-12 16:18:47 +01:00
Patrik Nordwall
6a7133ea21 !tes #16075 Change default awaitAssert interval to 100 ms 2014-11-21 11:36:37 +01:00
Andrei Pozolotin
d83acb92c3 = akka-*: full name space for loggers - resolve #16138
reflect logger name changes in the migration guide

fix typo in migration guide

fix typo in migration guide (xml)
2014-11-18 09:17:07 -06:00
Martin Eigenbrodt
69387bbc45 !act #16125 Timeout Calls through CircuitBreaker.
CircuitBreaker used to wait idenfinitly for a call and only compare
duration after the facts.
It will now increment its failure count early and throw a TimeoutException or return a Failure[TimeoutException].
2014-11-18 05:36:53 +01:00
Konrad 'ktoso' Malawski
3f12ef262f !clu #15042 useRole restriction on local node is now respected
This is an API breaking change if someone implemented their own Routers.
The change is required because the router must know if the local routees
should be started or not so it has to check the roles of the cluster
member (the local one). We could delay this decision of starting local
routees, but that would allow messages to be dead-letter-ed (bad).
2014-10-31 22:33:23 +01:00
Roland Kuhn
3d0cf9d602 Merge remote-tracking branch 'pr/15597' 2014-08-20 11:26:01 +02:00
Martynas Mickevičius
200d6eb0d3 Merge pull request #15627 from 2m/udp-proto-family
!act #15626 expose DatagramChannel creation in SocketOption
2014-08-19 15:25:51 +03:00
Dominic Black
af657880e2 !con #15496 Remember entries in cluster sharding
- Move all entry related logic out of the ShardRegion and into a
  new dedicated child `Shard` actor.
- Shard actor persists entry started and passivated messages.
- Non passivated entries get restarted on termination.
- Shard Coordinator restarts shards on other regions upon region failure or handoff
- Ensures shard rebalance restarts shards.
- Shard buffers messages after an EntryStarted is received until state persisted
- Shard buffers messages (still) after a Passivate is received until state persisted
- Shard will retry persisting state until success
- Shard will restart entries automatically (after a backoff) if not passivated and remembering entries
- Added Entry path change to the migration docs
2014-08-19 13:13:20 +01:00
Martynas Mickevicius
325e05ee27 !act #15626 expose DatagramChannel creation in DatagramChannelCreator
* move channel creation logic to a separate trait
* new Java API: AbstractSocketOption
2014-08-19 14:02:23 +03:00
Patrik Nordwall
e3ee59c94d Merge pull request #15662 from raboof/AtLeastOnceDeliveryDocs
Improve docs for AtLeastOnceDelivery recovery
2014-08-14 16:03:20 +02:00
Arnout Engelen
64c3cabbbc Improve docs for AtLeastOnceDelivery recovery
The Eventsourced migration guide currently suggested AtLeastOnceDelivery is
less useful than it actually is :)
2014-08-13 22:48:35 +02:00
Patrik Nordwall
813543e8f8 +act,slf #11715 Add configurable LoggingFilter
* The filter is used by the LoggingAdapter before publishing
  to the event bus
* Slf4jLoggingFilter uses backend log level configuration
  (e.g. logback.xml)
2014-08-11 20:08:44 +02:00
Michael R. Maletich
a6d3704ef6 !act #13490 Changed the callback to SocketOption to accept a channel instead of a Socket, this allows for using the nio features.
For example in Java 7 you can now join a multicast group:

case class JoinGroup(group: InetAddress, networkInterface: NetworkInterface) extends SocketOption {

  override def afterConnect(c: DatagramChannel): Unit = {
    c.join(group, networkInterface)
  }
}

  IO(Udp) ! Udp.Bind(self, new InetSocketAddress(MulticastListener.port),
    options=List(ReuseAddress(true),
      JoinGroup(MulticastListener.group, MulticastListener.interf)))

Other minor changes:

 - changed all methods in SocketOption to take a Channel instead of a Socket.  The socket can be gotten from the Channel but not the reverse.
 - all methods that are called before the bind are now called beforeBind for consistency.
 - All network connections now call the beforeBind and afterConnect.
2014-07-22 20:22:53 -05:00
Łukasz Dubiel
2c88bb1169
=act #13970 Send transistion on goto(CurrentState) in FSM
When in `A`:
* `goto(A)` will trigger `onTransition(A -> A)`
* `stay()` will NOT trigger `onTransition`

Includes:
* migration guide
* docs updates
* test
2014-07-18 17:36:55 +02:00
Patrik Nordwall
33c7f6bb4f !per Change for journal plugin compatibility
* A few more adjustments, found when verifying source compatibility of a few
  journal plugins
* Note that PersistentId will be removed with deleteMessage and we should
  not break plugins because of that
* Add missing section of at-least-once delivery in migration guide

(cherry picked from commit 6727eac6d07280d277968e2e25db44e02be3b102)

Conflicts:
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/Snapshot.scala
	akka-persistence/src/main/scala/akka/persistence/journal/AsyncWriteProxy.scala
2014-06-28 17:11:06 +02:00
Patrik Nordwall
07e67b90ea !per #15428 Deprecate deleteMessage
(cherry picked from commit 4973d0b37d635a0a2c9a94c2898da988e4f14fc7)
2014-06-28 15:59:33 +02:00
Konrad 'ktoso' Malawski
3fd240384c +per #15424 Added PersistentView, deprecated View
A PersistentView works the same way as View did previously, except:

* it requires an `peristenceId` (no default is provided)
* messages given to `receive` are NOT wrapped in Persistent()

akka-streams not touched, will update them afterwards on different branch

Also solves #15436 by making persistentId in PersistentView abstract.

(cherry picked from commit dcafaf788236fe6d018388dd55d5bf9650ded696)

Conflicts:
	akka-docs/rst/java/lambda-persistence.rst
	akka-docs/rst/java/persistence.rst
	akka-docs/rst/scala/persistence.rst
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/View.scala
2014-06-26 10:10:09 +02:00
Patrik Nordwall
d6ffdf521c =per #15429 Rewrite persistence documentation and samples for 2.3.4 changes
(cherry picked from commit 02351e32f110a8c4a249f0f3f84bae5898d1a836)

Conflicts:
	akka-samples/akka-sample-persistence-java-lambda/tutorial/index.html
	akka-samples/akka-sample-persistence-java/tutorial/index.html
	akka-samples/akka-sample-persistence-scala/build.sbt
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ConversationRecoveryExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/PersistentActorExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelRemoteExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/SnapshotExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/StreamExample.scala
	akka-samples/akka-sample-persistence-scala/tutorial/index.html
2014-06-25 15:37:35 +02:00