Commit graph

627 commits

Author SHA1 Message Date
Brian Wignall
fd41299943 Fix typos, via a Levenshtein-style corrector 2019-12-19 01:57:55 -05:00
Christopher Batey
bc2d3aa4db Use embedded media driver for StressSpec (#27037)
* Use embedded media driver for StressSpec

The current setup starts a media driver for each JVM in the same
directory which is caused the cnc file to be courruped in some way
so that the client in Akka timed out waiting for it to be initialized.

This test is disabled for Artery, see
https://github.com/akka/akka/issues/21810 so all it does is startup
and then end the test right away.

Will look at enabling the test again separately.

Fixes #27030
2019-11-25 16:58:58 +01:00
Johan Andrén
8c5a0fac8e StreamRefs spec fail (#28018)
* Wrong timeout used for subscription timeout

(cherry picked from commit 05098eef1d9ecdbb5f0c8c5cda29aa1890ddc9e6)
2019-10-17 08:55:03 +02:00
Patrik Nordwall
a217d5566e
Remove auto-downing, #27788 (#27855)
* moved to cluster tests, in new package akka.cluster.testkit
* changed config in tests
* migration guide
* documentation clarificiations for Downing and Leaving
* update warnings in Singleton and Sharding
2019-10-03 14:08:43 +02:00
Patrik Nordwall
a7c43cf573
Config to exclude class prefix from serialize-messages, #24273 (#27517)
* Config to exclude class prefix from serialize-messages, #24273

* Adding no-serialization-verification-needed-class-prefix, with "akka." included
  by default
* This is important now when we disable Java serialization by default.
  There will be many complaints about Akka internal classes that are not marked with
  NoSerializationVerificationNeeded, and we can't really sprinkle that everywhere.
* Not removing NoSerializationVerificationNeeded usage in Akka classes because that
  may break bin compat, even though it's needed any more.

* fix DisabledJavaSerializerWarningSpec
2019-09-26 22:51:12 +02:00
Johan Andrén
60a6e9bf5b Eliminate race in multi node StreamRefSpec #26392 2019-09-17 15:42:22 +02:00
Johan Andrén
66280846c1 StreamRefs cancellation behavior #27639
* Updated multi-jvm test
* Updated migration guide
2019-09-06 08:55:51 +02:00
Johan Andrén
b68d67008a
Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
Johan Andrén
84cd059bb2
Remove the Artery flight recorder (#27591) 2019-09-05 13:11:22 +02:00
Patrik Nordwall
46804546c6 harden MultiDcSplitBrainSpec, #24955
* separate the testing of publication of DataCenterReachabilityEvent
  to separate test case, since doing it in the other cases is difficult
  due to timing and race conditions (flipping back-n-forth)
2019-08-27 13:51:03 +02:00
Helena Edelson
96abaf2168 Add clarification to doc on cluster cross boundary use of DeathWatch (#27385)
* Add clarification to doc on cluster cross boundary use of DeathWatch #27376

* Clarrified reasoning and behavior update, and updated warning config name to same convention.
2019-07-25 14:12:57 +02:00
Christopher Batey
69fd98a39d Fix SurviveNetworkInstabilitySpec (#27383) 2019-07-19 07:27:08 -07:00
Johan Andrén
03b8c543fc Serialization support for wrapped stream refs (#27353) 2019-07-16 10:11:33 -07:00
Helena Edelson
a110be8f69
Fix intercept of Watch in use of safe remote features #27333 (#27334)
And added one more case for cluster watcher, watching remote no cluster watchee, and the reverse.
2019-07-12 12:18:37 -07:00
Patrik Nordwall
3efc1c2877
Disable Java serialization by default, #22333 (#27285)
* akka.actor.allow-java-serialization = off
* Moved primitive (Long, Int, String, ByteString) serializers
  from akka-remote to akka-actor since they had no dependency
  and are useful also in local systems, e.g. persistence.
  * e.g. needed for persistence-tck
  * less allow-java-serialization=on in tests
* CborSerializable in Jackson/test module for ease of use
* JavaSerializable for Java serialization in tests, already in akka-testkit,
  but misconfigured
* Made tests pass
  * allow-java-serialization=on in akka-persistence
  * allow-java-serialization=on in classic remoting tests
  * JavaSerializable and CborSerializable in other remoting tests
* Added serialization for
  * Boolean
  * java.util.concurrent.TimeoutException, AskTimeoutException
* support for testing serialization with the inmem journal
* utility to verifySerialization, in SerializationTestKit
* remove AccountExampleWithCommandHandlersInState becuase not possible to serialize State when it's not static
  * Effect() is factory in EventSourcedBehavior  class
* test the account examples
* SharedLeveldbJournal.configToEnableJavaSerializationForTest
* support for exceptions from remote deployed child actors
  * fallback to akka.remote.serialization.ThrowableNotSerializableException
    if exception is not serializable when wrapped in system messages from
    remote deployed child actors and Status.Failure messages
  * it's implemented in `WrappedPayloadSupport.payloadBuilder`
* update reference documentation
* serialize-messages=off in most places, separate ticket for
  improving or removing that feature
* migration guide, including description of rolling update

* fix 2.13 compiler error

* minor review feedback
2019-07-11 14:04:24 +02:00
Patrik Nordwall
8d69388d0a Deprecate classic remoting classes (#27237)
* Sprinkle deprecated annotation to public classes for classic remoting
* Use right dispatcher setting for a few remoting actors
* New Artery events for QuarantinedEvent, GracefulShutdownQuarantinedEvent
  and ThisActorSystemQuarantinedEvent because old were not good
  and would cause binary compatibility trouble when we remove classic
* silence more deprecation warnings
2019-07-10 14:26:51 +02:00
Helena Edelson
611e32de91 Disable remote watch and remote deployment outside Cluster (#27126) 2019-06-21 14:15:36 +02:00
Christopher Batey
fd1acb9326 Upgrade to Aeron 1.19.1 (#27043)
* Upgrade to Aeron 1.19.1

No mention of on the wire incompatibilities in release notes for
versions 1.15->1.19

* fix compilation issue with new aeron

* Set default publication unblock timeout to 40s

This needs to be bigger than the liveness timeout. Aeron
defaults these to 5seconds and 10seconds. Akka uses 20s
for the liveness so use 40s for the unblock to keep the same
relation between the properties as Aeron has.

* Add publication unblock timeout in sharedmedia driver

* Update akka-remote/src/main/scala/akka/remote/artery/ArterySettings.scala

Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
2019-06-13 21:44:29 +02:00
Patrik Nordwall
10d32fceb9 scheduleWithFixedDelay vs scheduleAtFixedRate, #26910
* previous `schedule` method is trying to maintain a fixed average frequency
  over time, but that can result in undesired bursts of scheduled tasks after a long
  GC or if the JVM process has been suspended, same with all other periodic
  scheduled message sending via various Timer APIs
* most of the time "fixed delay" is more desirable
* we can't just change because it's too big behavioral change and some might
  depend on previous behavior
* deprecate the old `schedule` and introduce new `scheduleWithFixedDelay`
  and `scheduleAtFixedRate`, when fixing the deprecation warning users should
  make a concious decision of which behavior to use (scheduleWithFixedDelay in
  most cases)

* Streams
* SchedulerSpec
  * test both fixed delay and fixed rate
* TimerSpec
* FSM and PersistentFSM
* mima
* runnable as second parameter list, also in typed.Scheduler
* IllegalStateException vs SchedulerException
* deprecated annotations
* api and reference docs, all places
* migration guide
2019-06-05 11:38:04 +02:00
Arnout Engelen
814cfa286c Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +02:00
Patrik Nordwall
a6f717c9b0 fix a race condition in ClusterReadView #24710 (#26922)
* remove lazy initialization for _cachedSelf
* don't update _state and friends after close()
2019-05-23 14:08:25 +02:00
Patrik Nordwall
71e9bdc262 more classic remoting leftovers
* fix several tests that were using akka.remote.netty.tcp config
* replace akka.tcp with akka in more places
* some doc cross references to remoting.md
2019-05-15 19:34:50 +02:00
Patrik Nordwall
0c8d46121a Disable LargeMessageClusterSpec for classic remoting, #26889 2019-05-13 15:43:59 +02:00
Patrik Nordwall
2bbf13f707
Run CoordinatedShutdown from ActorSystem.terminate #25213 (#26830) 2019-05-03 10:47:47 +02:00
Patrik Nordwall
82c761f026
remove Future from StreamRefs mat val, #24372 (#26847) 2019-05-02 16:54:37 +02:00
Christopher Batey
efc3adc08d
Make artery the default remoting (#26772) 2019-05-01 08:12:09 +01:00
Johannes Rudolph
4c9783a2dc
Merge pull request #26762 from chbatey/fix-cluster-round-robin-spec
Fix regression in ClusterRoundRobinSpec
2019-04-17 11:41:02 +02:00
Christopher Batey
d75d44de4a Fix regression in MultiDcHeartbeatTakingOverSpec introduced by removing compiler warnings (#26761) 2019-04-17 11:25:59 +02:00
Christopher Batey
aca530d93b Fix regression in ClusterRoundRobinSpec 2019-04-17 08:34:47 +01:00
Christopher Batey
8dd6f790bd Remove warnings in akka-cluster (#26739)
Also undeprecate isTerminated but mark it internal
2019-04-16 19:10:31 +02:00
Christopher Batey
65ccada280 Lease API + use in cluster singleton and sharding, #26480 (#26629)
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
2019-03-28 13:31:56 +01:00
Arnout Engelen
d390fcf183 Introduce warning silencer plugin (#26588)
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions

* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021
2019-03-26 14:41:29 +01:00
Auto Format
75579bed17 format source with scalafmt, #26511 2019-03-15 10:23:46 +01:00
Auto Format
ce404e4f53 format source with scalafmt 2019-03-11 16:58:55 +01:00
Patrik Nordwall
5c96a5f556 replace unicode arrows
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
  then it's complicated to avoid that when snippets are
  located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
2019-03-11 16:58:51 +01:00
Patrik Nordwall
96692b2c04
Terminate StreamRef on node failure, #25960
* manage AddressTerminated subscription in FunctionRef
* implementation can be compared with akka/actor/dungeon/DeathWatch.scala
* use synchronized access to the watch state and AddressTerminatedTopic
* use OptionVal for _watchedBy
2019-01-17 16:53:17 +01:00
Arnout Engelen
d274e039f9
Various scala-2.13.0-M5 fixes
fix akka-actor-tests compile errors

some tests still fail though

Fix test failures in akka-actor-test

Manually work arround missing implicit Factory[Nothing, Seq[Nothing]]

see https://github.com/scala/scala-collection-compat/issues/137

akka-remote scalafix changes

Fix shutdownAll compile error

test:akka-remote scalafix changes

akka-multi-node-testkit scalafix

Fix akka-remote-tests multi-jvm compile errors

akka-stream-tests/test:scalafix

Fix test:akka-stream-tests

Crude implementation of ByteString.map

scalafix akka-actor-typed, akka-actor-typed-tests

akka-actor-typed-tests compile and succeed

scalafix akka-camel

scalafix akka-cluster

akka-cluster compile & test

scalafix akka-cluster-metrics

Fix akka-cluster-metrics

scalafix akka-cluster-tools

akka-cluster-tools compile and test

scalafix akka-distributed-data

akka-distributed-data fixes

scalafix akka-persistence

scalafix akka-cluster-sharding

fix akka-cluster-sharding

scalafix akka-contrib

Fix akka-cluster-sharding-typed test

scalafix akka-docs

Use scala-stm 0.9 (released for M5)

akka-docs

Remove dependency on collections-compat

Cherry-pick the relevant constructs to our own
private utils

Shorten 'scala.collections.immutable' by importing it

Duplicate 'immutable' imports

Use 'foreach' on futures

Replace MapLike with regular Map

Internal API markers

Simplify ccompat by moving PackageShared into object

Since we don't currently need to differentiate between 2.11 and

Avoid relying on 'union' (and ++) being left-biased

Fix akka-actor/doc by removing -Ywarn-unused

Make more things more private

Copyright headers

Use 'unsorted' to go from SortedSet to Set

Duplicate import

Use onComplete rather than failed.foreach

Clarify why we partly duplicate scala-collection-compat
2019-01-11 12:27:18 +01:00
kerr
bdc90052aa Update headers from 2018 to 2019 once for all. (#26165)
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
2019-01-02 11:55:26 +01:00
kerr
e9fb3a020a Make use of scalafix to remove unused import. (#26019)
* =build Add scalafix to remote unused import.

* +build Add file ignore plugin for scalafix which support ignore files.
2018-12-05 08:30:21 +00:00
kerr
fafc59b19d update headers to regular comment (#25807) 2018-10-29 05:19:37 -04:00
Patrik Nordwall
a6737b5e42 Don't automatically down quarantined node, #25632 2018-09-24 14:05:13 +02:00
Kazuhiro Sera
482eaea122 Fix several minor typos detected by github.com/client9/misspell (#25448)
* Fix several minor typos detected by github.com/client9/misspell

* Revert s/erminater/erminator/ in /ActorSystemSpec
2018-08-21 11:02:37 +09:00
Christopher Batey
ee7e699d23 Cluster sharding: Set waiting for state timeout for tests
Default is 5s which means if the first Read is lost and
a test ddata have any secondary nodes to query it'll
timeout waiting to get the state.

E.g. read being ignored due to loading durable state then
never gets retries
2018-07-02 12:50:29 +01:00
Roman Filonenko
502ff08df5 fix akka-cluster-tools compile error 2018-06-16 18:52:45 +02:00
Christopher Batey
28b86379c8 Harden MultiDcClusterShardingSpec (#25201)
- Use global multi node cluster config
- Reduce retry interval for ShardRegion register
- Add clue to unhelpful assert failing
2018-06-15 15:28:04 +02:00
Christopher Batey
01f90ad95d
Add common multi node cluster config to all cluster sharding tests (#25202) 2018-06-05 06:58:17 +01:00
Christopher Batey
485179c5f6 ClusterDeathWatchSpec: assert cluster status bewtween tests (#25126)
Test failed due to node4 still seeing node3 in a subsequent test
but assumed it had been removed.

Fixes #25065
2018-05-29 13:38:20 +02:00
Christopher Batey
23373565db
Fix typed cluster singleton cross dc proxies (#24936)
* Fix typed cluster singleton cross dc proxies
* Adds first multi-jvm test for typed cluster
2018-04-27 12:44:44 +01:00
Christopher Batey
a3e52078df Enable header plugin for the MultiJVM configuration (#24974)
Seems when did the changes for 2018 it intro introduced a space in all
after, hence so many changes.
2018-04-25 00:03:55 +09:00
Christopher Batey
4d20b2a660 Reduce size of jenkins logs
Each build is now over 40mb logs.

A lot of DEBUG logging was left on for test failures that have been
fixed. Added an issue # for ones that are still valid or if if it on
as the test verifies debug
2018-04-24 08:49:41 +01:00