Commit graph

622 commits

Author SHA1 Message Date
Patrik Nordwall
2f76b1a074
Merge pull request #26037 from chbatey/log-frame-size-exceeding-broken
Parse akka.remote.log-frame-size-exceeding as bytes
2018-12-04 12:20:26 +01:00
Christopher Batey
3acc50feb4 Parse akka.remote.log-frame-size-exceeding as bytes
Missed in PR validation as only used in multi jvm tests
2018-12-04 09:20:29 +00:00
Patrik Nordwall
00d869724a Remove Deprecated CounterSecureRNG, #25978 (#25979) 2018-12-04 09:50:37 +01:00
Philippus Baalman
90bf989630 Replace scalactic deprecations (#25886) 2018-11-09 09:07:21 +01:00
kerr
fafc59b19d update headers to regular comment (#25807) 2018-10-29 05:19:37 -04:00
Patrik Nordwall
b75bb8fc46 Deprecation and documentation for the AESCounterBuiltinRNG issue
* reproducer test of AESCounterBuiltinRNG issue
* update documentation of random-number-generator
* deprecate AES128CounterSecureRNG AES256CounterSecureRNG
* incorporate feedback from Johannes
2018-08-29 18:25:37 +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
7299d6b26c
Harden BindCanonicalAddressSpec (#25404)
The randomly selected port by Artery could be the same as the randomly
selected port the test generates.

Fixes #25403
2018-08-20 13:56:11 +01:00
Johan Andrén
85ffc17973 Stack trace changes depending on how throwable is constructed in JDK9+ (#25408)
This changes the test to not compare stacktraces with equals to avoid
test failures.
2018-07-31 00:08:10 +09:00
kenji yoshida
5b3b191bac Remove procedure syntax (#25362) 2018-07-25 13:38:27 +02:00
Patrik Nordwall
3439377816
Merge pull request #24983 from akka/wip-24972-tcp-restart-patriknw
Quarantine and cleanup idle associations, #24972
2018-05-22 13:11:36 +02:00
Patrik Nordwall
7fc7744049 Quarantine and cleanup idle associations, #24972
* fix NPE in shutdownTransport
  * perhaps because shutdown before started
  * system.dispatcher is used in other places of the shutdown
* improve logging of compression advertisment progress
* adjust RestartFlow.withBackoff parameters
* quarantine after ActorSystemTerminating signal
  (will cleanup compressions)
* Quarantine idle associations
  * liveness checks by sending extra HandshakeReq and update the
    lastUsed when reply received
  * concervative default value to survive network partition, in
    case no other messages are sent
* Adjust logging and QuarantinedEvent for harmless quarantine
  * Harmless if it was via the shutdown signal or cluster leaving
2018-05-22 13:10:30 +02:00
Patrik Nordwall
e6633f17fa
Make sure Serialization.currentTransportInformation is always set, #25067
* The ThreadLocal Serialization.currentTransportInformation is used for serializing local
  actor refs, but it's also useful when a serializer library e.g. custom serializer/deserializer
  in Jackson need access to the current ActorSystem.
* We set this in a rather ad-hoc way from remoting and in some persistence plugins, but it's only
  set for serialization and not deserialization, and it's easy for Persistence plugins or other
  libraries to forget this when using Akka serialization directly.
* This change is automatically setting the info when using the ordinary serialize and deserialize
  methods.
* It's also set when LocalActorRefProvider, which wasn't always the case previously.
* Keep a cached instance of Serialization.Information in the provider to avoid
  creating new instances all the time.
* Added optional Persistence TCK tests to verify that the plugin is setting this
  if it's using some custom calls to the serializer.
2018-05-21 16:59:04 +02:00
Johan Andrén
b27bdba13b
Do not tear down connections on IllegalArgumentException from serializer #24910 2018-05-16 15:35:05 +02:00
Christopher Batey
c0f18c96d3 Disable TlsTcpWithActorSystemSetupSpec when not running tcp-tls tests 2018-05-01 09:49:51 +01:00
Patrik Nordwall
27e9587a3b Configurable SSLEngineProvider in classic remoting, #23732 2018-04-30 10:24:34 +02: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
Christopher Batey
74f39e9409 ArteryMessageLoggingSpec pick up command line overrides for akka settings
Use ConfigFactory.load to pick up overrides in the additional actor
system. Otherwise one runs with udp and other tcp for the artery-tcp
job.

Fixes #24806
2018-04-03 08:03:57 +01:00
Christopher Batey
c8f16845f2 Log sent/receive message log level check #24774 2018-03-27 12:20:19 +02:00
Mark James Talbot
0a426a7ab0 Change Artery TCP to use bind address (#24773) 2018-03-26 13:44:33 +02:00
Patrik Nordwall
8847f7dfb7 less aggressive resend of Artery sys msg after nack, #24744 (#24745) 2018-03-19 00:59:44 -07: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
Roman Filonenko
0ecadf7235 deduplicate logic for IODispatcher #24604 (#24619)
* deduplicate logic for IODispatcher #24604
 * introduce a resolveDispatcher helper in ActorAttributes
 * mention akka.stream.materializer.blocking-io-dispatcher instead of akka.stream.blocking-io-dispatcher in scaladocs
 * fix a flaky test
 * cosmetic changes in the touched files

* move resolveDispather helper to the Dispatcher companion object under a new name resolve

* filter out mima warning

* fix mima excludes after the 2.5.11 release

* address review comments
 * update stream-io.md with the correct dispatcher config key
 * mark ActorAttributes.Dispatcher#resolve as internal API
 * use the dispatche config key in ActorMaterializer

* add private[akka] to the resolve methods
2018-03-07 15:12:34 +01:00
kerr
97ca714d17 = all remove semicolons "bye-bye semicolon" (#24659) 2018-03-06 09:53:28 +09:00
Francisco José Bermejo Herrera
6646eded2c Add serializer for akka.NotUsed (#24599) (#24600) 2018-03-05 17:38:17 +01:00
Patrik Nordwall
a89268ee45 ambiguous method byteBuffer.limit with jdk9 (#24593)
```
[error] /localhome/jenkinsakka/workspace/akka-nightly-jdk9/akka-remote/src/main/scala/akka/remote/artery/tcp/ArteryTcpTransport.scala:160:35: ambiguous reference to overloaded definition,
[error] both method limit in class ByteBuffer of type (x$1: Int)java.nio.ByteBuffer
[error] and  method limit in class Buffer of type ()Int
[error] match expected type ?
[error]         val size = env.byteBuffer.limit
```
2018-02-22 16:52:34 +09:00
Patrik Nordwall
11b6065d97
Merge pull request #24586 from akka/wip-TlsTcpSpec-patriknw
fix TlsTcpWithHostnameVerificationSpec when run without tls
2018-02-21 20:44:04 +01:00
Patrik Nordwall
d03f177468 fix TlsTcpWithHostnameVerificationSpec when run without tls 2018-02-21 12:36:26 +01:00
Patrik Nordwall
5e80bd97f2 Stop unused Artery outbound streams, #23967
* fix memory leak in SystemMessageDelivery
* initial set of tests for idle outbound associations, credit to mboogerd
* close inbound compression when quarantined, #23967
  * make sure compressions for quarantined are removed in case they are lingering around
  * also means that advertise will not be done for quarantined
  * remove tombstone in InboundCompressions
* simplify async callbacks by using invokeWithFeedback
* compression for old incarnation, #24400
  * it was fixed by the other previous changes
  * also confirmed by running the SimpleClusterApp with TCP
    as described in the ticket
* test with tcp and tls-tcp transport
  * handle the stop signals differently for tcp transport because they
    are converted to StreamTcpException
* cancel timers on shutdown
* share the top-level FR for all Association instances
* use linked queue for control and large streams, less memory usage
* remove quarantined idle Association completely after a configured delay
  * note that shallow Association instances may still lingering in the
    heap because of cached references from RemoteActorRef, which may
    be cached by LruBoundedCache (used by resolve actor ref).
    Those are small, since the queues have been removed, and the cache
    is bounded.
2018-02-21 11:59:18 +01:00
Patrik Nordwall
4dab3252bd Add Artery TCP/TLS transport, #24390
* configurable SSLEngineProvider
* ssl configuration
* add internal outgoingTlsConnectionWithSSLEngine and bindTlsWithSSLEngine in stream Tcp
* TLS tests
* update remote security section in reference documentation
2018-02-20 16:06:16 +01:00
Patrik Nordwall
162a1f80a0 Add Artery TCP transport, #24390
* transport config
* TCP specific classes in akka.remote.artery.tcp package
* TcpFraming stage that handle the additional streamId field and length based framing.
  Credit to jrudolph for this clean solution, which made it possible to use same
  envolope header for Aeron and TCP.
* magic first bytes to detect invalid access
* drain SendQueue to deadLetters in postStop
* error handling, restart, inbound and outbound streams
* udp vs tcp in autoSelectPort
* TCP specific flight recorder events
* update reference documentation
2018-02-20 16:06:05 +01:00
Patrik Nordwall
0d222906f4 Prepare Artery for alternative TCP transport, #24390
* Refactoring to separate the Aeron specific things, ArteryAeronUdpTransport
* move Aeron specific classes to akka.remote.artery.aeron package
* move Version to ArterySettings, and describe strategy for envelope header changes
2018-02-20 16:02:57 +01:00
Patrik Nordwall
23fa8b0810 change spelling of behaviour to behavior, #24457 2018-02-01 15:10:46 +01:00
Patrik Nordwall
f890bc6abf
Merge pull request #24070 from akka/wip-SendQueueSpec-patriknw
additional test of SendQueue
2018-01-16 19:10:43 +01:00
Patrik Nordwall
6e15a4a2af harden RemoteDeploymentSpec, #24252
* Wrong message ordering in test
* Reproduced with sleep
2018-01-16 18:32:53 +01:00
Johan Andrén
14c427bd4f More generous timeout in DaemonicSpec (#24322)
* More generous timeout in DaemonicSpec

Also:
 * allow it to complete faster if possible
 * avoid potential race with port number
 * always shut the extra actor system down
 * less dilation
2018-01-16 15:54:20 +00:00
Patrik Nordwall
f95ab52f10 additional test of SendQueue 2018-01-15 10:13:47 +01:00
Konrad `ktoso` Malawski
59a48c728b
+rem #24265 protobuf serializer for Address and UniqueAddress in akka… (#24267)
* +rem #24265 protobuf serializer for Address and UniqueAddress in akka-remote

* remove the duplication, by using previously existing type

* fixed doc link

* make it easier to enable the additional no-java-serialization bindings

* fixed akka-actor failure due to changes

* cleanup

* Update reference.conf

* Update serialization.md

* Update reference.conf
2018-01-10 19:28:51 +09:00
Christopher Batey
009214ae07
Update copyright to 2018 (#24241) 2018-01-04 17:26:29 +00:00
Christopher Batey
bd2a3de88a
Typed async testkit (#24203)
* Typed async testkit
* Pull out useful parts from internal TypedSpec into a public TestKit
* Port internal tests to use the external testkit
2018-01-04 15:09:38 +00:00
Christopher Batey
c7cbebb534 Fix record overflow race condition in flight recorder #21992
The flag used to show a record is dirty/commited was overwritten by the
last 4 bytes of the previous metadata. Most of the time this isn't
caught as the record is written fixed width and typically the last bytes
are 0s which is the same as the Commited flag. However under
concurrency this can overwrite the Dirty flag that is preventing
corruption.
2018-01-04 13:37:16 +01:00
Łukasz Drygała
0c0bf91661 rewrite FlatSpec tests using WordSpec #24186 2018-01-03 12:51:27 +01:00
Elijah Rippeth
2837ebba6e adds serializer for akka.Done. #23854
(cherry picked from commit 53a543788494d7b6457f129b1ad4ff57ff530584)
2017-12-05 14:38:58 +01:00
Konrad `ktoso` Malawski
3eed8e79d0
attempt to stabilize the CompressionIntegrationSpec (#23987) 2017-12-05 15:35:08 +09:00
Christopher Batey
891cf30348 Harden and turn on debug logging for SystemMessageDeliverySpec (#23989)
For the failure in #23926 at INFO we get no information about why. This
commit also removes use of deprecated methods in the test.
2017-12-04 15:28:06 +01:00
Evgeny Veretennikov
5e5a5d2c21 Use Future.successful/failed instead of Promise.s/f.future 2017-12-03 16:45:38 +03:00
Patrik Nordwall
6b41c80f9b Simplify Artery remote deployment and make inbound-lanes=4 default, #21422
* DaemonMsgCreate is not a system message. We send it over the control
  stream because remote deployment process depends on message ordering
  for DaemonMsgCreate and Watch messages. That is all good.
* We also send DaemonMsgCreate over the ordinary message stream (all
  outbound lanes) so that the first ordinary message that is sent to
  the ref does not arrive before the actor is created. This is not needed,
  since the retried resolve in the Decoder will take care of that anyway.
* Inbound lanes were not covered, but not needed.
* Then the deduplication of DaemonMsgCreate messages in  RemoteSystemDaemon
  is not needed.
* Added some more tests for these things.
* describe lanes in reference docs
2017-11-11 10:30:39 +01:00
Patrik Nordwall
17f712a76b
Pass HandshakeReq in all inbound lanes, #23527 (#23842)
* Pass HandshakeReq in all inbound lanes, #23527

The HandshakeReq message must be passed in each inbound lane to
ensure that it arrives before any application message. Otherwise there is a risk
that an application message arrives in the InboundHandshake stage before the
handshake is completed and then it would be dropped.

* mima
2017-11-11 10:19:57 +01:00
Arnout Engelen
b1df13d4d4 Update scalariform (#23778) (#23783) 2017-10-06 10:30:28 +02:00