Commit graph

22038 commits

Author SHA1 Message Date
Patrik Nordwall
cdecd8b6fe add missing returnRecoveryPermit (#24439)
* missing for some error cases
* in the states recoveryStarted and recovering it has got the permit and
  it must returned if the actor is stopped due to some error in those
  states
* it would have been a lot easier to do such in postStop but we can't
  introduce new things in the trait Eventsourced due to BC
2018-01-30 21:46:38 +09:00
Christopher Batey
aa911bcf14 Handle TCP connection timeout while resolving #24437 2018-01-30 12:54:21 +01:00
Patrik Nordwall
40018809f1
Merge pull request #24441 from nachinius/wip-24421-add-restartflow-with-backoff-only-on-failures
Adds RestartFlow to restart only on failures #24421
2018-01-30 11:02:54 +01:00
Konrad `ktoso` Malawski
c7f842942d
=clut #24311 timer event may arrive after we already identified successfuly (#24442)
* =clut #24311 timer event may arrive after we already identified successfuly

* mark as NoSerializationVerificationNeeded
2018-01-30 18:17:01 +09:00
Christopher Batey
5658d6e77a MultiDcSplitBain: only subscribe to unreachable after split
Test would fail picking up the reachable from the previous unsplit
as it is a new probe.

Also change barrierCounter to split/unsplit so easier to see
where the failure is on a barrier fail
2018-01-30 09:01:15 +00:00
Johan Andrén
78b5045165 More details in the coordinated shutdown docs (#24436)
* More details in the coordinated shutdown docs

* Update reference.conf
2018-01-30 12:07:09 +09:00
Ignacio (nachinius) Peixoto
e73434796c Adds RestartFlow to restart only on failures #24421 2018-01-29 13:58:31 -03:00
Johannes Rudolph
2fd4063d72
Merge pull request #24385 from jrudolph/jr/23697-start-receptionist-eagerly
=typ #23697 start typed receptionist eagerly
2018-01-29 16:29:51 +01:00
Konrad `ktoso` Malawski
800923522a
=str #24413 make sure to check if available to push (#24434)
* =str #24413 make sure to check if available to push

* address review

* Update SourceRefBenchmark.scala
2018-01-30 00:27:40 +09:00
Johannes Rudolph
3ba4b27889
=typ #23697 start typed receptionist eagerly
Fixes #23697
2018-01-29 15:58:43 +01:00
Patrik Nordwall
81c5b1d571
Merge pull request #24422 from akka/wip-24100-DistributedPubSubRestart-patriknw
harden DistributedPubSubRestart, #24100
2018-01-29 14:22:39 +01:00
pwliwanow
7ba40b238a Fix in BackoffSupervisor.calculateDelay #24419 2018-01-29 12:05:27 +01:00
Arnout Engelen
c05dd26700 Use getWhenTerminated in Java examples (#24428)
* Use getWhenTerminated in Java examples

Introduced in #24330

* Fix compilation error
2018-01-29 18:05:11 +09:00
Song Kun
0e2d001cce =doc Some improvements on overview of Akka modules (#24429) 2018-01-29 13:34:25 +09:00
Arnout Engelen
a0ef1f7272
Shorter heading for scalaFiddle example (#24416)
The long h4 header looked a bit strange in the index:
https://doc.akka.io/docs/akka/current/stream/index.html
2018-01-26 10:51:46 +01:00
Patrik Nordwall
da565edbc6 harden DistributedPubSubRestart, #24100 2018-01-26 07:13:34 +01:00
Julien Broi
d47c703b6d Adding streams to the list of capabilities (#24417) 2018-01-26 00:40:45 +09:00
Arnout Engelen
c1e0522970
Suppress 'match is not exhaustive!' warning (#24408)
* Suppress 'match is not exhaustive!' warning

Not super clean, but gets rid of the compiler warning shown every time this
file is compiled.

* Using a NotImplementedError rather than a MatchError
2018-01-25 15:22:11 +01:00
Song Kun
22b10dbef0 fix typo (#24415) 2018-01-25 13:58:08 +01:00
Sebastian Harko
4ed492d90f make NonBlockingBoundedMailbox the default example (#24401) 2018-01-25 20:27:50 +09:00
Arron Norwell
b4f24f44fa Remove explicit fsync from FileSink (#24314) 2018-01-25 11:46:15 +01:00
Johannes Rudolph
a1d8a5554b
Merge pull request #24354 from anilgursel/24353-groupBy-drops-new-group-anilgursel
groupBy pulls upstream when a substream materialization is waiting #2…
2018-01-25 11:41:18 +01:00
Johannes Rudolph
176bec52ae
=act don't initialize Serializer extension in RemoteActorRefProvider
Instead, load it as a library-extension.
2018-01-25 11:21:07 +01:00
Johannes Rudolph
79b5c79918
=typ load typed extensions as part of a separate untyped extension
This is needed because the `ActorSystemAdapter` is instantiated early on
in the typed ActorSystem initialization process already when the infrastructure
is created to run the typed guardian. This is too early to initialize
the typed extensions. The new untyped LoadTypedExtension is only loaded
later on when the untyped ActorSystem is ready.
2018-01-24 14:27:13 +01:00
Johannes Rudolph
0c1ee2f4a8
=typ initialize ActorRefResolver lazily in MiscMessageSerializer
Serializers are initialized early on even before the underlying untyped
ActorSystem is fully initialized. Accessing extensions might trigger
a chain of initialization that might step on uninitialized internal bits
later on.
2018-01-24 14:27:13 +01:00
Johannes Rudolph
b90a1166ef
Merge pull request #24383 from jrudolph/jr/23668-watchWith-warning
!act #23668 fail watch/watchWith when previous watch to same subject registered different message
2018-01-24 13:41:43 +01:00
Konrad `ktoso` Malawski
44fdca0399
sbt-jmh 0.3.3 now works with dtrace (macs!) (#24396) 2018-01-24 01:21:35 +09:00
Johannes Rudolph
1064b7fe3f
use expectTerminated 2018-01-23 16:53:40 +01:00
Christopher Batey
9836dbbad1
Document tiers api for akka typed (#24382)
This moves over the last of the content for the blog as well
as moves typed docs to their own folder

Closes #24166
Closes #24358
2018-01-23 15:36:49 +00:00
Johan Andrén
2af400f1b0
Disallow remote deploy for typed actors #24352 2018-01-23 15:46:24 +01:00
Konrad `ktoso` Malawski
49b59083e2
Add ApiMayChange warning in docs of StreamRefs (#24389)
* Add ApiMayChange warning in docs of StreamRefs

* Update stream-refs.md
2018-01-23 23:34:11 +09:00
Johannes Rudolph
b12b3740e3
Merge pull request #24391 from nokia/topic/issue24379
More correctly detect cluster in Receptionist
2018-01-23 11:37:06 +01:00
Johannes Rudolph
05e7463b0d
add more tests + docs 2018-01-23 11:31:15 +01:00
Christopher Batey
1c5d344e4a Snapshots for typed persistent actors (#24350)
* Snapshots for typed persistent actors

Refs #24196

* Check every event when persisting multiple events at once
2018-01-23 19:25:17 +09:00
Patrik Nordwall
37484476df
Merge pull request #24344 from akka/wip-23770-response2-patriknw
Message adapter, without risk of resource leak, #23770
2018-01-23 10:49:13 +01:00
Daniel Urban
dadd172f2a More correctly detect cluster in Receptionist (fixes #24379) 2018-01-23 10:47:53 +01:00
Patrik Nordwall
744bbc4ee2 Message transformer, without risk of resource leak, #23770
* Replacement of spawnAdapter, we could could keep spawnAdapter as
  an internal feature (we know about the resource leak risk)
* The new ActorContext.messageAdapter can be used in the
  same way as spawnAdapter but without the risk of unbounded
  resource leak.
* Only one message transformer per class is supported to avoid
  unbounded growth of registered transformers in case they are
  registered repeatedly. That is also a way to replace transformers,
  if that would be needed.
* It's still encouraged to register the transformers in a top level
  deferred, but other usages are possible. It would still be wrong
  to capture incoming message specific context in the transformer
  function.
* The transformation function is run inside the actor.
* One single spawnAdapter ref is used for all transformers. It wraps
  the message in an internal Transform message.
* rename to spawnMessageAdapter and only kept it as internal in scaladsl
* update chat room example to use child actors
* docs
2018-01-23 09:41:42 +01:00
Anil Gursel
7b09a3e5e9 groupBy pulls upstream when a substream materialization is waiting #24353 2018-01-22 16:00:25 -06:00
Viktor Klang (√)
e999d03e8b The most common partition-case, as divertTo(Mat) #24388 2018-01-22 19:17:41 +01:00
Konrad Malawski
6264f8ea70 +str #24229 back to Future[] API for stream refs
nitpicks
2018-01-23 02:27:10 +09:00
Konrad Malawski
c5a2785c7c +str #24229 implement flattening of mat values, may block; SHOULD BE INTERNAL API
add java documentation

images
2018-01-23 02:27:10 +09:00
Konrad `ktoso` Malawski
7c75abbf7e +str #24229 move SinkRef / SourceRef to akka.stream
+str #24229 remove protobuf changes, which do not need to be made in this PR

docs

moved things

config object

subscription timeout confifmed working, also, attributes

document attributes for sub timeout

tests for the source also failing when it should

additional demand test

implemented protection from materializing "in cycles"; would be nice in
types but that breaks the niceness of use of the types
SinkRef/SourceRef...

cleanup

no idle timeout built in, can use the Timeout stages

more docs

simplest change to prevent exposing SinkRef => SourceRef => SinkRef cycle

Things to decide:
 * is it ok to require using `getSource` / `getSink` as Java API, is there better naming?
 * where should the constructors go? I'd say just in regular javadsl/scaladsl `Source`/ `Sink` objects

move constructors to {javadsl,scaladsl}.{Source,Sink} companion objects

Remove now useless "canMaterialize" field

Separate stage (implementation) from ref (wrapped actor ref) to make it clearer what is serialized

Clarify that partner refs are not optional in on-the-wire interfaces

minor cleanup in SourceRefStage

Renamed the stages but questionable if that really helps ;)

cleanups, better docs

cleanup, fix docs compilation

fix mima

got rid of Futures in the materialized values of stream refs
2018-01-23 02:27:10 +09:00
Konrad `ktoso` Malawski
bc6861f7e4 +str ##24229 naming the stageActor via def stageActorName 2018-01-23 02:27:10 +09:00
Konrad `ktoso` Malawski
682b047ac3 +str #24229 first working SinkRef, though serialization is wrong somehow (when serialize-messages = on)
silly serialization mistake, should have fixed serialize as well

tage actors now can have names, which helps a lot in debugging

thread weirdness

make sure to fail properly, actually go over remoting

issue with not receiving the SinkRef... what

initial working SinkRef over remoting

remote Sink failure must fail origin Source as well

cleaning up and adding failyre handling

SinkRef now with low-watermark RequestStrategy

source ref works, yet completely duplicated code
2018-01-23 02:27:10 +09:00
Johannes Rudolph
5fd48386e3
!act #23668 fail watch/watchWith when previous watch to same subject registered different message
The new message was silently ignored before which cannot be the behavior
that was intended by the user.
2018-01-22 17:42:10 +01:00
Christopher Batey
b48d907d66
Fix typed initial inports (#24384) 2018-01-22 16:28:16 +00:00
Patrik Nordwall
155e765c9d Stashing in Typed, #22275 (#24349)
* Utility for stashing, #22275

* The main reason for providing these utilities and promote
  a standardized way of doing the buffering is that monitoring
  instrumentation can be added to these classes, which is not
  possible if we just say "buffer in some collection".

* unstash a few at a time, became rather complicated

* separate api and impl, and more tests
2018-01-23 00:43:20 +09:00
Johannes Rudolph
fef57ea034 actor-typed: remove unsupported DispatcherSelectors #24337 (#24380)
Untyped actor systems currently only support specifying dispatchers via a
name reference to the config. The other selectors can be revived when other
ways of configuring dispatchers are available for untyped actor systems
(see #17568).
2018-01-22 15:27:21 +00:00
Johan Andrén
ab76b6b64d TestProbe support for actor stop checking (#24365)
* TestProbe support for actor stop checking #24356
2018-01-22 13:49:54 +00:00
Christopher Batey
719f0fb672
Typed docs for sharding and singleton (#24364) 2018-01-22 13:47:18 +00:00