Commit graph

1801 commits

Author SHA1 Message Date
Patrik Nordwall
774bfee074
Merge pull request #24049 from akka/wip-24048-coordinated-downing-patriknw
Run all CoordinatedShutdown phases also when downing, #24048
2017-12-05 13:01:43 +01:00
Patrik Nordwall
80f1292ac1 make it possible to disable all jvm shutdown hooks, #24077 (#24093) 2017-12-05 11:48:30 +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
Patrik Nordwall
996cccf890 send crossDcHeartbeatSender over Artery control stream, #24088 (#24089)
* add crossDcHeartbeatSender to prio wildcard index, otherwise
  HeartbeatRsp will be sent over ordinary message stream
2017-12-04 22:52:13 +09:00
Evgeny Veretennikov
5e5a5d2c21 Use Future.successful/failed instead of Promise.s/f.future 2017-12-03 16:45:38 +03:00
Björn Antonsson
cb6a660cf4 Don't create multiple outbound envelopes (#24045) 2017-11-23 09:05:58 +01: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
be8e4b0276
Merge pull request #23562 from akka/wip-23561-harden-hub-restart-patriknw
Harden restart of Artery stream with inbound-lanes > 1, #23561
2017-11-11 10:21:02 +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
Patrik Nordwall
26f0f2c898
Merge branch 'master' into 23111-AsyncCallbacks_lost_finished_stage-agolubev 2017-11-09 14:48:47 +01:00
Patrik Nordwall
768753556b Fix shutdown timeout in multi-jvm tests, #23925 (#23927) 2017-11-06 13:31:51 +01:00
Alexander Golubev
9b43ce71ba +str AsyncCallbacks lost on finished stage by error 2017-10-31 10:25:30 -04:00
Christopher Hunt
aa2ab4b6e2 Remove shutdown hook on shutting down (#23866)
When shutting down, we compliment the addition of a shutdown hook during startup with its removal. Doing so further ensures that no class loader is retained when unloading Akka in an OSGi style scenario.
2017-10-30 15:09:38 +01:00
Christopher Batey
83a97256cc Turn on gossip logging for flaky test + improve test error msg (#23868) 2017-10-30 14:52:58 +01:00
Patrik Nordwall
fc75f78468 Harden restart of Artery stream with inbound-lanes > 1, #23561
* When the artery stream with PartitionHub is restarted it can result in that
  some lanes are removed while it is still processing messages, resulting in
  IndexOutOfBoundsException
* Added possibility to drop messages in PartitionHub, which is then used Artery
* Some race conditions in SurviveInboundStreamRestartWithCompressionInFlightSpec
  when using inbound-lanes > 1
* The killSwitch in Artery was supposed to be triggered when one lane failed,
  but since it used Future.sequence that was never triggered unless it was the
  first lane that failed. Changed to firstCompletedOf.
2017-10-24 14:34:39 +02: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
Christopher Batey
cd8ec9f981 Merge pull request #23768 from chbatey/artery-startup
Block ActorSystem creation until Artery is bound
2017-10-13 14:51:23 +01:00
Christopher Batey
53c07a4f10 Block ActorSystem creation until Artery is bound 2017-10-13 14:05:44 +01:00
Arnout Engelen
b1df13d4d4 Update scalariform (#23778) (#23783) 2017-10-06 10:30:28 +02:00
novacekm
96ffced4dc = #23749 Fixes logging when serialization is not defined on NotSerializableException (#23750) 2017-09-29 11:09:57 +09:00
Patrik Nordwall
d660f8971e Keep the refuseUid in a better way, #22156
* The scenario described in the issue can cause the quarantine marker to
  be lost when creating a new endpoint for that address. Then when later
  creating another endpoint from an inbound connection the uid is considered
  confirmed and Ack message is accepted, triggering the unexpected seq number
  issue.
* The refuseUid was kept in the endpoint policy markers, but that is just very
  complicated and as illustrated by this issue not always safe.
* Instead, keep the refuseUid separately so it's not lost when registering
  new endpoint.
* The purpose of WasGated was only to try to keep the refuseUid (as far as I know),
  and that is not needed any longer.

mima filter
2017-09-25 16:25:09 +02:00
Guido Medina
9df5d80268 Java 9 Unsafe access to String value type mismatch. (#23710)
It needs to account for both Java 8 and 9 where the types are char[] and byte[] respectively.
2017-09-25 23:22:49 +09:00
Guido Medina
e57cab6c85 =rem Relax Aeron CNC version check but log a warning. (#23572) 2017-09-12 11:16:10 +02:00
Arnout Engelen
170a7504eb =tes #23528 Hand out temporary loopback addresses from a larger pool (#23530)
* Hand out temporary loopback addresses from a larger pool

Might have prevented https://github.com/akka/akka/issues/23528

* Detect if binding on other loopback addresses works

Works for Linux, not for OSX

* Avoid hard-coding 'localhost' in more places

When the address is ignored and only a port is requested,
find a free port on 'localhost'
2017-09-11 18:10:11 +02:00
Patrik Nordwall
369763f065 Merge pull request #23546 from akka/wip-23504-compression-patriknw
=art #23504 Keep more old decompression tables (3)
2017-08-22 21:21:46 +02:00
Konrad Malawski
cbbb5281fb =art #23504 Keep more old decompression tables (3) 2017-08-18 14:34:54 +02:00
Patrik Nordwall
3adcd6884a fix duplicated FlightRecorder event 91, #23323
* I don't think the FlightRecorder is in much use yet so don't care about compatibility
  of reading old logs
2017-08-14 11:51:05 +02:00
Patrik Nordwall
b5c11f189f Better use of Artery lanes for ActorSelection, #23150
* Looked into the alternativies described in the ticket, but
  they were complicated so ended up with simply including the
  uid of the sending system in the hash for selecting inbound
  lane. That should be good enough, until we have any real demand
  for something else.
* This means that different lanes can be used ActorSelection messages
  from different sending systems, i.e. good in a cluster, but same lane
  will be used for all messages originating from the same system.
* Added possibility to run the benchmarks with ActorSelection
* Added ActorSelection to the send consistency test
2017-08-09 17:35:43 +02:00
Patrik Nordwall
945ade245e Add PartitonHub, #21880
* FixedSizePartitionHub in Artery
* expose consumer queue size
2017-08-09 17:00:35 +02:00
Jimin Hsieh
f623d10522 Rename addr to address in non-public API #21874 2017-08-08 13:18:56 +02:00
Nafer Sanabria
ad1ffeda2b throw java.io.NotSerializableException during deserialization (#22821)
* throw java.io.NotSerializableException during deserialization

* formatting fix

* add annotation to all fromBinary methods

* remove annotation

* add annotation to remaining methods in Serialization.scala
2017-08-08 13:15:18 +02:00
Patrik Nordwall
e4b8256009 Merge pull request #23387 from Hawstein/fix-max-park-nanos
fix comments for maxParkNanos and spinning
2017-08-08 13:12:30 +02:00
Martynas Mickevičius
bc0f2ee26d Load MiMa filters from file (#23083) 2017-07-27 12:33:14 +02:00
Hawstein
e2ccb014a9 fix comments for maxParkNanos and spinning 2017-07-20 22:40:24 +08:00
Arnout Engelen
c3e9e2839a Broaden timeout for SystemMessageDeliverySpec (#23271)
Fixes #21799 assuming that it's simply a matter of tight timing.
2017-07-05 00:24:21 -07:00
Patrik Nordwall
e8aa70297e revert change of PhiAccrualFailureDetector constructor, #17389 2017-06-16 14:03:43 +02:00
fady zohdy
398e3d0bd3 add heartbeat delays warning log to remoteWatcer #17389 (#23135)
* add heartbeat delays warning log to remoteWatcer #17389

* using eventStream for logging

* add backward compatibility constructor

* make eventstream Option
2017-06-16 13:14:49 +02:00
Johannes Rudolph
cf99cf13b6
=rem #23023 log reasons for disassociations with debug level 2017-06-14 14:29:04 +02:00
Patrik Nordwall
4f9921b8ee increase timeout in ActorsLeakSpec, #23010
* follow up on #23010, ActorsLeakSpec sometimes fails
  because the reliableEndpointWriter is not stopped as
  early as before
2017-06-11 13:30:43 +02:00
Patrik Nordwall
14617d3ed5 Merge pull request #23129 from akka/wip-23010-ResendUnfulfillableException-patriknw
Fix ResendUnfulfillableException after transport failure detection, #23010
2017-06-11 09:15:20 +02:00
Patrik Nordwall
32f0936d17 Fix ResendUnfulfillableException after transport failure detection, #23010
Reproducer (TransportFailSpec):

* watch from first to second node, i.e. sys msg with seq number 1
* trigger transport failure detection to tear down the connection
* the bug was that on the second node the ReliableDeliverySupervisor
  was stopped because the send buffer had not been used on that side,
  but that removed the receive buffer entry
* later, after gating elapsed another watch from first to second node,
  i.e. sys msg with seq number 2
* when that watch msg was received on the second node the receive buffer
  had been cleared and therefore it thought that seq number 1 was missing,
  and therefore sent nack to the first node
* when first node received the nack it thrown
  IllegalStateException: Error encountered while processing system message
    acknowledgement buffer: [2 {2}] ack: ACK[2, {1, 0}]
  caused by: ResendUnfulfillableException: Unable to fulfill resend request since
    negatively acknowledged payload is no longer in buffer

This was fixed by not stopping the ReliableDeliverySupervisor so that the
receive buffer was preserved.

Not necessary for fixing the issue, but the following config settings were adjusted:
* increased transport-failure-detector timeout to avoid tearing down the
  connection too early
* reduce the quarantine-after-silence to cleanup ReliableDeliverySupervisor
  actors earlier
2017-06-09 14:19:14 +02:00
Patrik Nordwall
56bfda115f update AeronStat to 1.2.5
* this is pretty much a copy from aeron-samples
2017-06-08 18:21:47 +02:00
Dale Wijnand
6693fd6f7d Drop the exec bit on non-executable files 2017-05-23 16:06:27 +02:00
Patrik Nordwall
88a1a60f1c Fix invalid DateTimeFormatter usage in AeronErrorLog, #22982
* reason was the Z in the pattern, then one must use ZonedDateTime
  instead of LocalDateTime
* using the same formatter as the StdOutLogger instead
2017-05-23 11:07:59 +02:00
Patrik Nordwall
edef9e34c7 serialize-creators=off in tests, #23003 2017-05-22 20:11:03 +02:00
André Laszlo
601024dfe0 Fix broken url to "Building a Better Bloom Filter" (#22983) 2017-05-20 15:38:00 +02:00
Philippus Baalman
ef9c7313b6 Extend copyright into 2017 (#22833) 2017-05-04 15:14:33 +02:00
Patrik Nordwall
cfff0b800c skip serialize-messages check for well known local messages, #22680
* when serialize-messages=on and allow-java-serialization=off
2017-04-25 20:52:45 +02:00
Patrik Nordwall
b72ce56f2f fix more timestamp formatting, #22774
* regression introduced by #22716
  (never released)
2017-04-25 07:43:05 +02:00