Commit graph

91 commits

Author SHA1 Message Date
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
2bbf13f707
Run CoordinatedShutdown from ActorSystem.terminate #25213 (#26830) 2019-05-03 10:47:47 +02:00
Christopher Batey
efc3adc08d
Make artery the default remoting (#26772) 2019-05-01 08:12:09 +01:00
skvithalani
8f693998ee Attempt to fix multi-jvm failure when untyped system is adapted from typed system (#26780)
* Attempt to fix multi-jvm failure when untyped system is adapted from typed system

Spawn system space actors instead of user space in multi-jam

* Attempt to fix multi-jvm failure when untyped system is adapted from typed system in Conductor

* Attempt to fix multi-jvm tests failing due to some ordering issue with systemActorOf
2019-04-24 07:09:20 +02:00
Arnout Engelen
306187046f
Fix multi-node-testkit warnings (#26754) 2019-04-16 20:26:38 +02:00
Arnout Engelen
7372d2b735
Fix remaining akka-testkit warnings (#26752)
* Fix remaining akka-testkit warnings

Mostly in tests and 2.13

* Add issue link

* MiMa exclude for multi-node-testkit

We don't promise bincompat there anyway, but perhaps good to keep mima there
so at least we don't break things accidentally
2019-04-16 18:33:38 +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
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
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
fafc59b19d update headers to regular comment (#25807) 2018-10-29 05:19:37 -04:00
kenji yoshida
5b3b191bac Remove procedure syntax (#25362) 2018-07-25 13:38:27 +02:00
Christopher Batey
945440a38d
Revert "Look for perf-java-flames on path in MultiJVM perf support" (#25022)
* Revert "Look for perf-java-flames on path in MultiJVM perf support (#25003)"

This reverts commit 3e11092388.
2018-04-30 14:58:33 +01:00
Christopher Batey
3e11092388
Look for perf-java-flames on path in MultiJVM perf support (#25003) 2018-04-30 11:17:48 +01:00
Jimin Hsieh
2c2b8ba001 Remove some of Unused import warning (#24650) 2018-03-16 12:08:29 +01:00
Konrad `ktoso` Malawski
563c7fbcf0 Issue 24594: Integration with sbt-headers and initial header population 2018-03-13 15:45:55 +01:00
kerr
97ca714d17 = all remove semicolons "bye-bye semicolon" (#24659) 2018-03-06 09:53:28 +09:00
Christopher Batey
009214ae07
Update copyright to 2018 (#24241) 2018-01-04 17:26:29 +00:00
Christopher Batey
3bd05ce67e MultiDcSplitBrainSpec: Turn on gossip loggig; Increase gossip frequency (#24024)
The last time this failed there was no gossip to or from a node that
didn't see fifth coming back.

Also note that this test doesn't quite test what it says as the split
brain is repaired before starting the second actor system but without
extensions to the multi jvm test kit this can't be improved.

Refs #23306
2017-12-14 22:26:27 +01:00
Patrik Nordwall
436668687a Move coordinated-shutdown config from test/resources, #23879
* looks like the ActorSystem is shutdown when leaving
* Included in MultiNodeSpec, i.e. all multi-node tests:
  akka.coordinated-shutdown.terminate-actor-system = off
  akka.oordinated-shutdown.run-by-jvm-shutdown-hook = off
2017-11-07 15:38:35 +01:00
Patrik Nordwall
768753556b Fix shutdown timeout in multi-jvm tests, #23925 (#23927) 2017-11-06 13:31:51 +01:00
Christopher Batey
70ad537af5 Retry creation of ActorSystem in remoting tests #23481 (#23769)
* Retry creation of ActorSystem in remoting tests #23481

Remoting multi-jvm test rely on setting port = 0 which selects an open
port. This has a race where two of the JVMs open/close the same port
then configure their ActorSystem with it so one of them fails to start
due to the port being in use. This adds a simple retry so another port
is selected.
2017-10-24 14:22:25 +02:00
Jimin Hsieh
f623d10522 Rename addr to address in non-public API #21874 2017-08-08 13:18:56 +02:00
Björn Antonsson
f8b4fb55ca Remove use of deprecated Scala features #22581 2017-03-27 19:05:54 +03:00
Hawstein
6434cbe868 Re-implement javadsl testkit (#22240)
* re-implement javadsl testkit

* fix mima problem

* rebase master

* move ImplicitSender/DefaultTimeout to scaladsl

* undo the change of moving scala api

* fix return type and add doc

* resolve conflicts and add more comments
2017-03-16 20:02:47 +01:00
Patrik Nordwall
58acf7bf8f fix MultiNodeSpec.getCallerName, #22186
* it didn't work with RemotingMultiNodeSpec
* that was breaking Artery performance plots
2017-02-24 08:56:36 +01:00
Johan Andrén
94afbee179 Don't close over TestConductorExt with an actor sent remotely 2017-02-22 09:56:21 +01:00
Patrik Nordwall
f83ec3f4cd Merge pull request #22184 from johanandren/wip-22180-custom-actor-system-in-multinodespec-johanandren
Custom ActorSystem creation in MultiNodeSpec
2017-02-10 11:05:09 +01:00
Patrik Nordwall
9de19bf312 eager initialization of CoordinatedShutdown, #22191
* e.g. the jvm shutdown hook should be installed immediately
* noticed that it was initialized from artery shutdown
* run-by-jvm-shutdown-hook=off in multi-jvm tests
2017-01-23 21:35:45 +01:00
Johan Andrén
59dce7c6b6 Custom ActorSystem creation in MultiNodeSpec #22180 2017-01-23 16:21:20 +01:00
Philippus Baalman
6c7085252a extended copyright into 2017 2017-01-04 17:37:15 +01:00
Johan Andrén
5161e4d40a Testconductor allows more time to pass to give artery time to shutdown #21500 2016-09-23 15:01:51 +02:00
Patrik Nordwall
455d6a45cc fix shutdown race in sendControl, #21514 (#21517)
* fix shutdown race in sendControl, #21514

* the stack trace showed IllegalStateException: outboundControlIngress not initialized yet
  via the call to sendControl
* that could happen if there is a shutdown at the same time, which is exactly what the test does
* it was actually caused by a merge mistake, but now it got even better

* countDown latch on shutdown
2016-09-22 11:07:17 +02:00
Johan Andrén
a939e30b49 Fix artery test file leak #21484
* Include actor system name in artery dir path to ease debugging leaks
* Base class name changed to make actor system autonaming work
* Add shutdown hook directly in transport start
* Wait for completion in shutdown hook (actual leak fix)
2016-09-19 13:22:54 +02:00
Johan Andrén
392ca5ecce Enable flight recorder in tests #21205
* Setting to configure where the flight recorder puts its file
* Run ArteryMultiNodeSpecs with flight recorder enabled
* More cleanup in exit hook, wait for task runner to stop
* Enable flight recorder for the cluster multi node tests
* Enable flight recorder for multi node remoting tests
* Toggle always-dump flight recorder output when akka.remote.artery.always-dump-flight-recorder is set
2016-09-16 15:12:40 +02:00
Patrik Nordwall
835125de3d make cluster.StressSpec pass with Artery, #21458
* need to use a shared media driver to get the cpu usage
  at a reasonable level
* also changed to SleepingIdleStrategy(1 ms) when cpu-level=1
  not needed for the test to pass, but can be good to make level 1
  more extreme
2016-09-16 12:58:41 +02:00
Martynas Mickevičius
1ce7d7d7e9 #20946 Add bind address (#21404) 2016-09-09 12:46:50 +02:00
Martynas Mickevičius
292face28a #20587 Clean artery configuration (#21279)
* Move artery settings from remoting settings to dedicated class.
* #20587 Move hardcoded settings to configuration file.
* Copy reused settings from remote to the artery
2016-09-01 08:07:39 +02:00
Patrik Nordwall
b2089d06a7 new OutboundEnvelope
* instead of the old Send
* optional recipient, remove of dummy
* pool of OutboundEnvelope
2016-07-01 14:06:48 +02:00
Konrad Malawski
7c79b40dea +tes introduce simple way to gather flamegraphs from multinode specs 2016-06-24 13:19:16 +02:00
Johan Andrén
d6c048f59a A simpler ActorRefProvider config #20649 (#20767)
* Provide shorter aliases for the ActorRefProviders #20649
* Use the new actorefprovider aliases throughout code and docs
* Cleaner alias replacement logic
2016-06-10 15:04:13 +02:00
Patrik Nordwall
ea231b1cbc test support for blackhole in Artery, #20589 2016-06-07 15:47:12 +02:00
Patrik Nordwall
3465a221f0 format with new Scalariform version
* and fix mima issue
2016-06-03 12:56:49 +02:00
Patrik Nordwall
839ec5f167 Merge branch 'master' into wip-sync-artery-patriknw 2016-06-03 11:09:17 +02:00
Björn Antonsson
c66ce62d63 Update to a working version of Scalariform 2016-06-02 22:12:36 +02:00
Johan Andrén
5e3eb4bd8c Auto port selection and SunnyWeatherSpec for Artery (#20512)
* Automatic port selection when port 0 configured
* Combine remoting and artery SunnyWeatherSpec
* Default to port 0 for artery in MultiNodeSpec.nodeConfig
2016-05-17 14:17:21 +02:00
Patrik Nordwall
263e3a3b99 add Artery throughput and latency tests
* as multi-node tests
* adjust multi-node-testkit to use the hostname for Artery
* update HdrHistogram version
2016-04-21 07:40:02 +02:00