Commit graph

24974 commits

Author SHA1 Message Date
Christopher Batey
09aa9ffc24 Link to akka cluster video 2020-06-02 07:18:02 +01:00
Patrik Nordwall
4425005435
Merge pull request #29144 from akka/wip-29085-spi-patriknw
Telemetry SPI hooks for SBR decision, #29085
2020-06-01 07:53:13 +02:00
Renato Cavalcanti
0969e9d5a3
Merge pull request #29028 from akka/actor-ref-provider-logging
LocalActorRefProvider: added dedicated logger for deserialization failures
2020-05-29 10:26:58 +02:00
Renato Cavalcanti
7770ea7ec9
Merge branch 'master' into actor-ref-provider-logging 2020-05-29 08:57:39 +02:00
Johannes Rudolph
24f2b2e617
stream: cosmetic improvements to FutureFlow (#29068) 2020-05-28 15:42:41 +02:00
Johannes Rudolph
842052d633
Merge pull request #29091 from jrudolph/28993-fix-keepAlive
stream: make keepAlive/IdleInject more reliable against flukes
2020-05-28 14:45:07 +02:00
Johannes Rudolph
8e349b4180
Merge pull request #29121 from jrudolph/29111-fix-tls-actor-hangs 2020-05-28 14:40:26 +02:00
Nicolas Vollmar
cfe4443d25
Extend backoff supervision with custom message handling #29082 (#29083) 2020-05-28 13:15:46 +02:00
Patrik Nordwall
2a536d7065
Merge pull request #29140 from akka/wip-29085-log-patriknw
Log markers for SBR, #29085
2020-05-28 08:59:21 +02:00
Patrik Nordwall
cd9e9e960a Telemetry SPI hooks for SBR decision, #29085 2020-05-28 08:52:22 +02:00
Patrik Nordwall
95dd4b2021
handle thrown exceptions in Retry pattern in same way as failed Future (#29119) 2020-05-28 07:22:22 +01:00
Johannes Rudolph
87c5844451
stream: avoid getting stuck when doUnwrap returns NEED_WRAP with outstanding data
Refs #29111

This seems only to happen with TLS 1.3. In that case, remaining data in
`transportInBuffer` was left there instead of putting it back onto the
chopping block.

Then `doWrap` was run but `doUnwrap` was never called again because only
the chopping block was checked for outstanding data but not the buffer.
2020-05-27 15:03:07 +02:00
Johannes Rudolph
9beb88fa44
stream: fix half-closed TLS connection spin-loop
Refs #29110

TLSActor could get caught in a spin-loop on connection termination
because there was an implicit assumption that when inbound is closed
(peer has sent `close_notify`), this SSLEngine would also automatically
send a `close_notify` and close the connection.

Therefore, it would stay in `flushOutbound` pumping in a loop.

This is not true anymore with TLS 1.3, more accurately it can be
configured using `-Djdk.tls.acknowledgeCloseNotify` which is `false` by
default leading to half-open connections.

The solution is to not support half-open TLS connections for now and
consider a connection closed as soon as `isInboundClosed` and there's no
outstanding data.

(To support half-open connections, this fix would have to be reverted
and `flushOutbound` fixed accordingly.)
2020-05-27 15:03:07 +02:00
Johannes Rudolph
e524a0d445
stream: run TlsSpec for TLSv1.3 on jdk >= 11
Session renegotiation tests are disabled because TLS 1.3 does not
support renegotiation any more.
2020-05-27 15:03:06 +02:00
Patrik Nordwall
b933fd0b16
Merge pull request #29137 from akka/wip-29131-region-termination-patriknw
Don't allocate to terminated regions, #29131
2020-05-27 14:30:47 +02:00
Patrik Nordwall
1472bd9e8c Log markers for SBR, #29085 2020-05-27 14:26:55 +02:00
Patrik Nordwall
95111955c4 Don't allocate to terminated regions, #29131
* when using down-removal-margin it could allocate to an
  already terminated region
* the watch fix in PR #29092 solves this
* this is an "optimization" to avoid the regions that
  have been terminated
2020-05-27 11:09:59 +02:00
Patrik Nordwall
7c77617d18
Merge pull request #29092 from akka/wip-29034-sharding-watch-patriknw
Allow ShardCoordinator to watch old region ActorRef that is not in cluster, #29034
2020-05-27 10:06:38 +02:00
Patrik Nordwall
90aa5be45e
fix wrong lastSequenceNumber, #28976 (#29128)
* off by one when accessed from event handler
* off by one from event handler during replay
* wrong when unstashing
* added more tests, also for persist of several events
2020-05-26 17:17:30 +02:00
Johan Andrén
2a1f54c8ce
Stash the custom termination message for watchWith #29101 2020-05-26 16:04:41 +02:00
Patrik Nordwall
228e1cfebc
Detect duplicate serializer identifiers, #29100
* Detect duplicate serializer identifiers, #29100
* and expand the documentation for the serializer identifier
* and mention BaseSerializer to read the identifier from config
* same class same id is ok
2020-05-26 13:09:53 +02:00
Patrik Nordwall
176152278b
doc: add routers to Higher level Cluster tools (#29117) 2020-05-26 13:09:01 +02:00
Johan Andrén
578acab047
Publish Dropped to eventstream when serialized payload too large #29077 (#29079) 2020-05-26 13:08:14 +02:00
Christopher Batey
fa702d5a45
Fix race in ActorThreadSpec (#29130) 2020-05-26 13:06:28 +02:00
Renato Cavalcanti
5b60931968
Merge pull request #29108 from scala-steward/update/metrics-core-4.1.9 2020-05-26 09:50:49 +02:00
Patrik Nordwall
4f0417e12e
InternalStableApi on JavaDurationConverters (#29118) 2020-05-26 09:47:24 +02:00
Renato Cavalcanti
3d377bec97
Merge pull request #29122 from akka/wip-reply-type-patriknw 2020-05-26 08:52:12 +02:00
Renato Cavalcanti
34ed9f2822
Merge pull request #29123 from akka/wip-steward-less-often-patriknw 2020-05-26 08:46:46 +02:00
Patrik Nordwall
4b6e659c83 Scala Steward once per once 2020-05-25 15:17:56 +02:00
Patrik Nordwall
07165d181b
change email in pom.xml (#29116) 2020-05-25 14:23:43 +02:00
Patrik Nordwall
888580e604 remove reply type parameter from Command in Account example
* only makes it look more complex than it is
* probably a remaining of the early reply experiments
2020-05-25 14:08:00 +02:00
Patrik Nordwall
c45e6ef39b
Add Lightbend's SBR to Akka Cluster, #29085 (#29099)
* change package name to akka.cluster.sbr
* reference.conf has same config paths
* akka.cluster.sbr.SplitBrainResolverProvider instead of com.lightbend.akka.sbr.SplitBrainResolverProvider
* dependency from akka-cluster to akka-coordination, for lease strategy
* move TestLease to akka-coordination and use that in SBR tests
* remove keep-referee strategy
* use keep-majority by default
* review and adjust reference documentation

Co-authored-by: Johan Andrén <johan@markatta.com>
Co-authored-by: Johannes Rudolph <johannes.rudolph@gmail.com>
Co-authored-by: Christopher Batey <christopher.batey@gmail.com>
Co-authored-by: Arnout Engelen <github@bzzt.net>
2020-05-25 12:21:13 +02:00
Scala Steward
f09ac3eff0
Update metrics-core, metrics-jvm to 4.1.9 2020-05-24 18:05:27 +02:00
Patrik Nordwall
e0586e546c
Detect illegal access to ActorContext from the outside (#27112) 2020-05-22 17:23:02 +02:00
klappvisor
a28ec9786e
Fixed Deploy productElement implementation #29104 (#29105) 2020-05-22 14:49:34 +02:00
László van den Hoek
7424dfa490
more useful JavaDoc for javadsl Flow (#28577) 2020-05-22 13:56:04 +02:00
Nicolas Vollmar
ab89e15438
Ignore possible state change in start (#29069) 2020-05-22 13:43:45 +02:00
contrun
11816df236
add lz4 compression for jackson (#29012) 2020-05-22 13:37:22 +02:00
Johannes Rudolph
6a07c4f809
actor: need to keep signature of clearActorFields for now (#29098) 2020-05-20 12:01:19 +02:00
Patrik Nordwall
228c19e688 Allow ShardCoordinator to watch old region ActorRef that is not in cluster, #29034
* Otherwise the remote watch is disabled and the old region ActorRef remains
  in the coordinator's state
2020-05-19 13:53:42 +02:00
Johannes Rudolph
01603ccc90
stream: make keepAlive IdleInject more reliable against flukes
Refs #28993

The previous `nextDeadline - time < 0` required that nanoTime resolution is
actually high enough to see that the deadline had already passed. If it
had not, the current keep alive was missed and also all future ones (until
another a regular element would trigger another push/pull cycle).

Now, with `>=` it also works in that case and just fails noisily if our
assumptions are not true.

It's not clear how it could have happened. On my machine, timers
trigger 1-2 tick-durations too late (but at least ~2ms). How that could be
the same in terms of the nanoTime resolution is hard to see.
2020-05-19 12:29:32 +02:00
Enno
8244f41d2e
Docs: revise Coordinated Shutdown with new actors APIs (#29057) 2020-05-18 19:19:11 +02:00
Patrik Nordwall
a232b42abe
Merge pull request #29089 from chbatey/issue-29060
Fix grammer error in cluster-concepts
2020-05-18 15:58:26 +02:00
Christopher Batey
0d1e45f2f5 Fix grammer error in cluster-concepts
Fixes #29060
2020-05-18 13:08:12 +01:00
Johannes Rudolph
59c5071e52
Don't set fields of actor / actorcell using reflection (#27614)
* encode failedFatally in the existing _failed field
* removed unused parameter of finishRecreate
* removed now unused parameter of clearActorFields
* Removed failed fatally with perpetrator state
* Remove actor_= and restrict places where _actor can be set
* test for non null context on actor termination
* Remove Reflect.lookupAndSetField
2020-05-18 14:07:57 +02:00
Ignasi Marimon-Clos
36c6bc1d07
Use new TLS algorithm defaults in remoting tests (#29074)
* Use the new dafaults in remoting tests

* scalafmt
2020-05-18 09:40:22 +02:00
Ignasi Marimon-Clos
54a9b3189a
Adds support to read PEM keys (#29039)
Co-Authored-By: James Roper <james@jazzy.id.au>
2020-05-16 18:09:24 -04:00
Johan Andrén
ac3065bfad
Docs for lazy stream operators (#28897) 2020-05-15 12:03:27 +02:00
Patrik Nordwall
5dc56a6d8c
Merge pull request #29070 from ennru/log-capture-init
Typed testkit: log capture logger initalisation
2020-05-14 14:01:24 +02:00
Enno Runne
5fb177eea4 Typed testkit: log capture logger initalisation 2020-05-14 12:32:18 +02:00