Commit graph

567 commits

Author SHA1 Message Date
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
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
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
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
edef9e34c7 serialize-creators=off in tests, #23003 2017-05-22 20:11:03 +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
Björn Antonsson
f8b4fb55ca Remove use of deprecated Scala features #22581 2017-03-27 19:05:54 +03:00
Johan Andrén
3643f18ded Protobuf serializers for remote deployment #22332 2017-03-16 15:12:35 +01:00
Johan Andrén
7a0e5b31f8 Avoid Array.ofDim where possible #22516 2017-03-13 17:49:45 +01:00
Konrad `ktoso` Malawski
e47dbda154 =str #22448 rewrite Source.empty to GraphStage 2017-03-07 15:13:49 +01:00
Johan Andrén
a6bb7f7960 Use the right serializers when checking bw compability of DaemonMsgCreateSerializer #22224 2017-03-01 17:09:05 +01:00
Patrik Nordwall
20e43ccd40 fix byte order issue in DaemonMsgCreateSerializer, #22366
* We used the Array based toBinary but the ByteBuffer based fromBinary.
  and IntSerializer is only using the same format for those when the byte order
  is  LITTLE_ENDIAN, which we didn't get from protbuf's asReadOnlyByteBuffer
* We can use the Array based methods in DaemonMsgCreateSerializer,
  performance is not important here
* Added some more testing in PrimitivesSerializationSpec
2017-02-22 13:41:24 +01:00
Johan Andrén
734c31fa4f Fix DaemonMsgCreateSerializer #22225 2017-02-21 16:08:16 +01:00
drewhk
0f764f5b43 #21965: Modify CompressionIntegrationSpec to not assume ordering in compression advertisements 2017-02-21 09:26:55 +01:00
Johan Andrén
8f9b4f203a Pass the deserialized message on when serialize-messages on #13751 2017-02-17 16:41:25 +01:00
Konrad `ktoso` Malawski
d306700feb =doc Make it easier to disable Java serialization, #22283 (#22315)
* one single config option to disable it completely
* improve security documentation

Co-authored-by: Patrik Nordwall <patrik.nordwall@gmail.com>
2017-02-16 14:09:04 +01:00
Patrik Nordwall
65fa37aa03 fix SystemMessageDeliveryStressTest NPE with additional-serializers, #22169
* because it's sending a dummy `Failed` sys msg with `null` child
2017-01-25 12:31:56 +01:00
Patrik Nordwall
9df49be5d0 Enable additional-serialization-bindings by default, #22169
* and thereby it was also possibe to simplify the documentation
  in remoting
2017-01-24 18:52:49 +01:00
Patrik Nordwall
b72ca92799 serialize Scala 2.12 functions for when used in remote deployment, #22041 2017-01-20 14:09:21 +01:00
Konrad `ktoso` Malawski
dcd8cea32e #21475 moving compressions ownership to Decoder (#22047)
* WIP early preview of moving compressions ownership to Decoder

* Compression table created in transport, but owned by Decoder
Added test for restart of inbound stream

* =art snapshot not needed in HeavyHitters since owned by Decoder
2017-01-13 10:33:55 +01:00
gosubpl
c80c3e16c4 remove org.uncommons.maths dependency (#12636)
Also
* add InternalApi annotation to AESCounterBuiltinRNG
* add setDaemon(true) to re-seeder thread
2017-01-13 10:23:06 +01:00
Philippus Baalman
6c7085252a extended copyright into 2017 2017-01-04 17:37:15 +01:00
Johannes Rudolph
2fab199142 Merge pull request #22048 from jrudolph/jr/w/21365-improve-inbound-lanes-performance
Improve performance of inbound lanes by making spinning loops in AeronSource configurable
2017-01-03 17:51:10 +01:00
gosubpl
83bafb48a2
removing deprecated AESCounterInetRNGs, fixes #22014 (#22015) 2017-01-03 15:39:52 +01:00
Johannes Rudolph
af377790b0
=rem #21365 less aggressive busy spinning in AeronSource
Benchmarks revealed that busy spinning directly in the graph stage can
lead to an excessive increase in latency when multiple inbound lanes are
active (i.e. the inbound flow has an asynchronous boundary driving the
multiple lanes).

The new strategy is therefore:

For inbound-lanes > 1 or idle-cpu-level < 5: no spinning in the graph stage
For inbound-lanes = 1 and idle-cpu-level >= 6: 50 * settings.Advanced.IdleCpuLevel - 240

which means in general much less or no spinning at all.

Fixes #21365.
2017-01-02 16:27:52 +01:00
Patrik Nordwall
e494ec2183 catch NotSerializableException from deserialization, #20641
* to be able to introduce new messages and still support rolling upgrades,
  i.e. a cluster of mixed versions
* note that it's only catching NotSerializableException, which we already
  use for unknown serializer ids and class manifests
* note that it is not catching for system messages, since that could result
  in infinite resending
2016-12-16 20:14:37 +01:00
Patrik Nordwall
6ac50fd945 Merge pull request #21904 from johanandren/wip-enable-afr-in-artery-tests-johanandren
Enable flight recorder in more artery tests
2016-12-06 16:00:30 +01:00
Björn Antonsson
8d05592e2e =rem Streamline Artery encoding of metadata to avoid allocations
* Change RemoteInstrument API to work with ByteBuffers
* Remove the MetadataMap since serialization is done in buffer
2016-12-06 10:05:27 +01:00
Patrik Nordwall
c5e3cc2825 serializer for Optional, #21911
* it's safe to add it to the serialization-bindings, because it had
  no previous binding (doesn't implement java.io.Serializable)
2016-12-01 16:51:39 +01:00
Patrik Nordwall
e04444567f Speedup pull request validation
* speedup ActorCreationPerfSpec
* reduce iterations in ConsistencySpec
* tag SupervisorHierarchySpec as LongRunningTest
* various small speedups and tagging in actor-tests
* speedup expectNoMsg in stream-tests
* tag FramingSpec, and reduce iterations
* speedup QueueSourceSpec
* tag some stream-tests
* reduce iterations in persistence.PerformanceSpec
* reduce iterations in some cluster perf tests
* tag RemoteWatcherSpec
* tag InterpreterStressSpec
* remove LongRunning from ClusterConsistentHashingRouterSpec
* sys property to disable multi-jvm tests in test
* actually disable multi-node tests in validatePullRequest
* doc sbt flags in CONTRIBUTING
2016-11-30 14:31:06 +01:00
Johan Andrén
1859876e5a Separate afr-files also for RemoteRouterSpec 2016-11-29 12:51:43 +01:00
Johan Andrén
e1993eec01 Use MultiNodeSpec where possible, and handle all afr files, not only the default 2016-11-29 12:39:11 +01:00
Johan Andrén
fca3e1e485 Add flight recording and dump on failure for more artery tests 2016-11-29 11:51:31 +01:00
Endre Sándor Varga
d7af58bafa Refactored TopHeavyHitters and added comments. Fixed small bug. 2016-11-17 17:37:01 +01:00
Björn Antonsson
de47178eb5 =act,rem Clean up some test serialization issues for Scala 2.12 2016-11-01 11:55:15 +01:00
Johannes Rudolph
5d03902c5e Add flag to enable mutual certificate authentication for old Akka Remote SSL transport (#21748)
* =rem #13874 further cleanup of SSLSettings / NettySSLSupport

* +rem #13874 allow requiring mutual authentication for old akka remote ssl transport
2016-10-28 17:03:07 +02:00
Konrad Malawski
92671e6d98 +act,rem,str add SECURITY marker to logs (#21749)
* +act,rem,str add SECURITY marker to logs

* Update TlsSpec.scala
2016-10-28 14:52:17 +02:00
Johannes Rudolph
ff78b84233 =rem #13874 cleanup SSLSettings (#21746) 2016-10-28 11:45:48 +02:00
Konrad Malawski
ad3ef5982c +rem remote deployment whitelist feature (#21676)
* +rem remote deployment whitelist feature (initial commit)

+rem remote deployment whitelist feature (initial commit)

* +doc,rem added docs on remoting whitelist

* Update remoting.rst

* Update remoting.rst
2016-10-24 13:44:15 +02:00
Martynas Mickevičius
b9da5a76de Add a retry for a check for stopped actors #21122 2016-10-19 09:33:28 +03:00
Patrik Nordwall
6cbfed975b harden CompressionIntegrationSpec, #21616 (#21692) 2016-10-18 20:24:39 +02:00
Patrik Nordwall
8d36499cd4 shortname for provider config 2016-09-29 15:01:05 +02:00
Johan Andrén
ba1cf38e53 Realign artery header data (#21581)
* Minor cleanup in version calculation
* Table versions before tag-fields
* Single handling block of unknown compression table version #21580
* Compression table versions use -1 only as special number #21448
* Align to 4 byte boundaries in header
2016-09-29 13:52:48 +02:00
Patrik Nordwall
b116810578 Merge pull request #21569 from drewhk/wip-21202-primitives-serialization-drewhk
#21202: Serializers for primitives, PoisonPill and Kill
2016-09-29 11:09:36 +02:00
Endre Sándor Varga
bf5b607739 Serialization for system messages, RemoteWatcher and ByteString 2016-09-28 16:26:33 +02:00
Endre Sándor Varga
14e0188a1c 21202: Added more serializers for built-in stuff 2016-09-28 12:17:17 +02:00
Patrik Nordwall
1012248c0b Merge pull request #21568 from akka/wip-21529-RemoteSendConsistencyWithThreeLanesSpec-patriknw
increase timeout for fist message in RemoteSendConsistencySpec, #21529
2016-09-28 12:14:36 +02:00
Patrik Nordwall
1cae346f4d add thread local LRU cache for resolveActorRef 2016-09-28 11:15:54 +02:00
Patrik Nordwall
be319afcd2 serialization of ActorRef, #21202 2016-09-28 11:15:54 +02:00
Patrik Nordwall
e61ffd1132 protobuf serialization of Status.Succes, Status.Failure, #21202 (#21565)
* also support for serialization of exceptions, see
  comment in reference.conf

* extract Throwable and Payload methods to helper classes

* add security checks before creating instance from class name
2016-09-28 11:14:33 +02:00