Commit graph

1562 commits

Author SHA1 Message Date
Johan Andrén
1f056aa1ef
Accidentally snuck in wrong patch version excludes for SBR internal change (#30178) 2021-04-13 10:42:48 +02:00
Renato Cavalcanti
dcb73c0200
Simplified reverse in lease majority (#30155) 2021-04-09 14:02:35 +02:00
Johan Andrén
c5655a9ce6
Upgrade to Scala 2.13.5 (#30072) 2021-03-30 20:57:23 +02:00
Patrik Nordwall
c14e8e6c44
remove default-dispatcher from heartbeat delay message (#30109)
* Cluster actors are running on internal dispatcher
2021-03-25 11:14:41 +00:00
Patrik Nordwall
d19855542b
configuration for SBR lease release #30090 (#30092) 2021-03-11 13:29:20 +01:00
Ignasi Marimon-Clos
59364c0140
Makes the SBR lease name configurable (#30049) 2021-02-22 12:50:13 +01:00
Johan Andrén
d92dc9c321
Fix for broken cluster shutdown #30026 (#30034) 2021-02-15 17:08:41 +01:00
Patrik Nordwall
7b3667a070
Don't add MemberExited as unreachable in SBR, #2995 (#29988) 2021-02-12 16:35:41 +01:00
Christopher Batey
c5f16dcee1
Full cluster shutdown (#29838)
* member information for full cluster shutdown

* Cluster singleton: dont hand over when in ready for shutdown

* Noop everything in shard coordinator

* Set all members to preparing for shutdown

* Don't allow a node to join after prepare for shutdown

* Review feedbac: singleton listen to all member chagnes

* Java API

* More better

* Keep sharding working while ready for shutdown

* Mima

* Revert DEBUG logging

* gs

* Fix api doc link

* Missed review feedback

* Review feedback
2021-02-12 09:59:20 +00:00
Nicolas Vollmar
278a36d036
Adds explicit ! method (#30004)
Needed for Scala 3
2021-02-10 13:20:29 +01:00
Andrea Peruffo
da70e0ccd4
Scala 3 cross compatible akka-actor / akka-testkit / akka-actor-tests (#29956)
* Remove @switch when it doesn't take effect
* Use ActorRef.noSender
* Minor tweaks to SchedulerSpec
* Disambiguate TypedActor for Scala 3
* Bump ScalaTest to a version compatible with Scala 3
* Bump ScalaCheck
* Disambiguate Event in SupervisorHierarchySpec
* Scala 3 compatible EventBusSpec
* Prevent private unused variables to be erased by Scala 3
* Bump mockito
* Explicit actorRef2Scala import
* restore original .scalafix.conf
* Scala 3 compatible tailrec
* Reminder to re add switch annotation in case
* Move to nowarn instead of silencer
* Bump to Scala 2.12.13
* Cross compatible annotations
* fix docs generation
* adapt the build for Scala 3
* fix errors but bus
* remove more SerialVersion from trait
* scalacheck only from scalatest
* cross-compile akka-actor-tests
* restore cross-compilation
* early initializers workaround
* scalacheck switch
* cross compatible FSM.State class
* cross compatible LARS spec
* Change results to pass LineNumberSpec
* fix stackoverflow in AsyncDnsResolverIntegrationSpec
* FSM.State unapply
* fix Scala 2.13 mima
* SerialVersionRemover compiler plugin
* removed unused nowarns
2021-02-01 16:38:29 +01:00
Johan Andrén
9ce6680b01
MiMa for 2.6.12 take 2 (#29987) 2021-02-01 12:48:05 +01:00
Johan Andrén
26c56e5825
SBR downing when a node is quarantined from the other side (#29737)
* SBR now downs a node when it notices that it has been quarantined from other nodes #29565

* Them mima excludes

* Review feedback mostly addressed

* One more stale comment removed

* More stress

* Ignore if remote quarantining node is not part of cluster

* Preliminary (untested) keepalive server support

* Completed reproducer of scenario discussed in PR

* Fix weird wrong extends in multi-jvm tests

* Put the test transport dropping after control junction to also drop control messages on blackhole.

* Test cleanup/review feedback addressed

* Ping from both nodes of side 1

Co-authored-by: Renato Cavalcanti <renato@cavalcanti.be>

* Add some debug logging to test to nail down failure cause

* Log when InboundTestStage lets messages through because no association yet

Co-authored-by: Renato Cavalcanti <renato@cavalcanti.be>
2021-01-28 09:49:15 +00:00
Arnout Engelen
31f654768f
Update copyright to 2021 2021-01-08 17:55:38 +01:00
Arnout Engelen
4785ed1b48
Better logging when no seed nodes found (#29866)
In a recent support case the 'manual cluster join required'
log message caused some confusion.

Turns out the configuration we used to detect whether Cluster
Bootstrap is available has been changed since
https://github.com/akka/akka-management/pull/476

Unfortunately I don't think we can detect whether Cluster
Bootstrap is actually enabled, since users may call
`ClusterBootstrap(system).start()` whenever they like.
Updated the logging to reflect that better.
2020-12-09 17:29:06 +01:00
Christopher Batey
3602ffa4d9
Ignore gossip desrialization failures (#29848)
* Ignore gossip desrialization failures

Only to happen suring a rolling upgrade. Gives us the option to do
incompatible things in Gossip and have the old nodes ignore the
deserialization error.

* Review feedback
2020-12-02 18:50:16 +00:00
Enno Runne
ffb21da246
Stream Testkit: new-API-friendly (#29831) 2020-12-01 12:06:09 +01:00
Christopher Batey
abfd699985
Harden lease majority spec (#29793)
The failure was due to timing out waiting for the downed side to
terminate. These changes half the time it takes for this to happen.
2020-11-09 10:48:37 +01:00
yiksanchan
61743a80eb
Add type annotation for public method (#29798) 2020-11-09 09:27:05 +01:00
Patrik Nordwall
73a9bbb264
Merge pull request #29691 from akka/wip-29683-log-size-patriknw
log-frame-size-exceeding for Artery, #29683
2020-10-09 10:26:23 +02:00
Renato Cavalcanti
d866fa3f1a
Fix Welcome/Gossip deserialization of app-version (#29692) 2020-10-05 16:09:32 +02:00
Patrik Nordwall
3a7c02014b log-frame-size-exceeding for Artery, #29683 2020-10-05 14:07:26 +02:00
Patrik Nordwall
1bf012837c
disseminate downing decisions faster, #29612 (#29640)
* when SBR downs the reachable side (minority) it's important
  to quickly inform everybody to shutdown
* send gossip directly to downed node, STONITH signal
* gossip to a few random immediatly when self is downed, which
  is always the last from the SBR downing
* enable gossip speedup when there are downed members
* adjust StressSpect to normal again
* adjust TransitionSpect to the new behavior
2020-10-05 11:10:06 +02:00
Patrik Nordwall
90b79144e5
Documentation for Sharding rolling update (#29666) 2020-09-30 12:31:03 +02:00
Patrik Nordwall
2caa560aab
Config for when to move to WeaklyUp (#29665)
* Config for when to move to WeaklyUp

* noticed when I was testing with the StressSpec that it's often moving nodes to WeaklyUp
  in normal joining scenarios (also seen in Kubernetes testing)
* better to wait some longer since the WeaklyUp will require a new convergence round
  and making the full joining -> up take longer time
* changed existing config property to be a duration
* default 7s, previously it was 3s

* on => 7s
2020-09-30 09:54:31 +02:00
Johan Andrén
93a69c42ff
Watching an actor ref on a member triggers termination message #29628 2020-09-28 16:57:31 +02:00
Christopher Batey
50924e56ac
Merge pull request #29502 from chbatey/reintroduce-flush-on-terminate
Reintroduce flush on terminate
2020-09-25 16:14:56 +01:00
Patrik Nordwall
8e2073a6a1 Flush messages before DeathWatchNotification, #28695 (#28940)
* Since DeathWatchNotification is sent over the control channel it may overtake
  other messages that have been sent from the same actor before it stopped.
* It can be confusing that Terminated can't be used as an end-of-conversation marker.
* In classic Remoting we didn't have this problem because all messages were sent over
  the same connection.

* don't send DeathWatchNotification when system is terminating
* when using Cluster we can rely on that the other side will publish AddressTerminated
  when the member has been removed
* it's actually already a race condition that often will result in that the DeathWatchNotification
  from the terminating side
  * in DeathWatch.scala it will remove the watchedBy when receiving AddressTerminated, and that
    may (sometimes) happen before tellWatchersWeDied

* same for Unwatch
* to avoid sending many Unwatch messages when watcher's ActorSystem is terminated
* same race exists for Unwatch as for DeathWatchNotification, if RemoteWatcher publishAddressTerminated
  before the watcher is terminated

* config for the flush timeout, and possibility to disable
2020-09-25 14:37:47 +01:00
Patrik Nordwall
14275b4997
adjust default minimum for down-all-when-unstable (#29661)
* adjust default minimum for down-all-when-unstable

* when down-all-when-unstable=on it will be >= 4 seconds
* in case stable-after is tweaked to low value such as 5 seconds
2020-09-24 15:58:14 +02:00
yiksanchan
74282c42d2
Remove weird char NBSP (#29620)
* Remove weird char NBSP

* cr comment
2020-09-24 12:44:51 +02:00
Patrik Nordwall
1b026ec3d9
Merge pull request #29619 from YikSanChan/fix/replace-to-with-toSet
Replace to with toSet
2020-09-23 09:56:19 +02:00
Patrik Nordwall
d556be77b4
Fix cross-dc heartbeat interval config, #29614 (#29646) 2020-09-22 15:50:42 +02:00
Patrik Nordwall
b28d77b316
simplify the SBR instability check (#29625) 2020-09-21 16:34:21 +02:00
Patrik Nordwall
f5b16bfe2e
Merge pull request #29617 from YikSanChan/fix/comment-index
Fix comment index
2020-09-21 11:42:46 +02:00
Patrik Nordwall
b15baca3e6
Merge pull request #29622 from YikSanChan/cleanup/remove-redundant-brackets
Remove redundant brackets
2020-09-21 11:41:55 +02:00
Patrik Nordwall
45b955850c
Merge pull request #29618 from YikSanChan/fix/tiny
Tiny style fix
2020-09-21 11:37:23 +02:00
Yik San Chan
861303c768 Remove redundant brackets 2020-09-17 20:45:03 -07:00
Yik San Chan
2c164820a4 Remove unreferenced private method 2020-09-17 20:13:07 -07:00
Yik San Chan
11694f065d Replace to with toSet 2020-09-17 18:39:42 -07:00
Yik San Chan
82361c0694 Tiny style fix 2020-09-17 18:33:41 -07:00
Yik San Chan
ddf1a02d4f Fix comment index 2020-09-17 18:24:16 -07:00
Evan Chan
1d759d2a3f remove redundant final in object private def 2020-09-15 17:43:09 -07:00
Patrik Nordwall
36d924b151
Increase stable-after in StressSpec, #29512 (#29603) 2020-09-15 11:16:01 +02:00
Patrik Nordwall
6384d0a242 move mima filter to right version 2020-09-10 17:35:44 +02:00
Patrik Nordwall
42223eb71a
Add app-version to the Member information, #27300 (#29546)
* will be used in rolling update features
* configured with akka.cluster.app-version
* reusing same implementation as ManifestInfo.Version
  by moving that to akka.util.Version
* additional version test
* support dynver format, + separator, and commit number
* improve version parser
* lazy parse
* make Member.appVersion internal
2020-09-10 10:42:03 +02:00
Patrik Nordwall
7bf12721c1 Merge branch 'master' into feature-active-active-event-sourcing 2020-09-02 15:46:06 +02:00
Patrik Nordwall
9b709df2d0
Fix acceptable-heartbeat-pause in cluster.StressSpec, #29512 (#29541) 2020-09-02 12:48:52 +02:00
Patrik Nordwall
ff9b8f44ea increase timeout in MultiDcJoin2Spec, #29505 2020-08-19 09:30:13 +02:00
Patrik Nordwall
da404071dc
full convergence also for joining nodes for first multi-dc join, #29486 (#29499) 2020-08-18 11:49:19 +02:00
Patrik Nordwall
f8c7a118be
Reduce scope of cluster.StressSpec, #23511 (#29472)
* to only exercise membership
* remote deployed routers and supervision of remote deployed actors
  are not priority, and that is what is sometimes failing
2020-08-18 11:08:07 +02:00