Commit graph

1759 commits

Author SHA1 Message Date
Patrik Nordwall
b72ce56f2f fix more timestamp formatting, #22774
* regression introduced by #22716
  (never released)
2017-04-25 07:43:05 +02:00
Guido Medina
64a3a9c028 Refactor SimpleDateFormat to the new DateTimeFormatter of JDK 8 which is thread safe. 2017-04-24 14:22:31 +09:00
Patrik Nordwall
de27c18469 Replace FileInputStream and FileOutputStream, #22733
(because they use finalize that is not gc friendly)
2017-04-19 12:05:19 -05:00
astonchev
1b81b1991a Return large buffers to the bufferPool #22723 (#22729)
In the large outbound flow EnvelopeBuffers aquired by Encoder must be
returned to the same buffer pool by the AeronSink. Otherwise one of
the following may happen:
* Full GC (System.gc())
* java.lang.OutOfMemoryError: Direct buffer memory
* kernel killing the process (OOM-killer)
see issue #22723
2017-04-19 08:55:16 +02:00
Patrik Nordwall
41c756f169 properly shutdown ArteryTransport using CoordinatedShutdown, #22671 (#22698)
* properly shutdown ArteryTransport using CoordinatedShutdown, #22671

* The shutdownHook changed hasBeenShutdown flag to true, and then when
  the transport.shutdown was invoked the shutdown sequence was ignored
  until it was too late, ActorSystem already terminated.
* Also improved the cluster shutdown tasks when the cluster node had not
  joined

* CoordinatedShutdownLeave explicit events
2017-04-11 21:48:51 +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
toaditoad
a569aebc9d Documentation note for large-message-frame-size (#22519)
* Added to docs that large-message-frame-size is restricted to 1/8th of aeron.term.buffer.length #22257

* Fixed grammar
2017-03-14 11:22:04 +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
Johannes Rudolph
1b3d2acbcc
=rem #22277 log remoting connection errors
An alternative way of reporting might be to make the error part of the
DisassociationInfo. This would require changing or adding another subclass
which is a non-compatible change. Could still be worthwhile to do to prevent
double logging.
2017-02-13 10:50:43 +01:00
toaditoad
b5a58d853b Adding hint in remote-artery docs that large-message-destinations have to match on sending and receiving side #22256 2017-02-04 17:11:20 +01:00
Patrik Nordwall
233464f153 Merge pull request #22212 from akka/wip-22169-addser-default-patriknw
Enable additional-serialization-bindings by default, #22169
2017-01-25 14:29:53 +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
fbe33c35a5 remove deprecated constructor in DeadlineFailureDetector, #21423 2017-01-24 13:35:52 +01:00
Patrik Nordwall
311d70b88a remove deprecated ARRAY_OF_BYTE_ARRAY, #21423 2017-01-24 13:35:51 +01:00
Patrik Nordwall
db74c33130 remove deprecated constructor in serializers, #21423 2017-01-24 13:34:05 +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
Patrik Nordwall
b72ca92799 serialize Scala 2.12 functions for when used in remote deployment, #22041 2017-01-20 14:09:21 +01:00
Patrik Nordwall
6c8a69109a Merge pull request #22138 from VEINHORN/master
Remove unnecessary new keywords
2017-01-17 19:31:45 +01:00
Patrik Nordwall
84ade6fdc3 add CoordinatedShutdown, #21537
* CoordinatedShutdown that can run tasks for configured phases in order (DAG)
* coordinate handover/shutdown of singleton with cluster exiting/shutdown
* phase config obj with depends-on list
* integrate graceful leaving of sharding in coordinated shutdown
* add timeout and recover
* add some missing artery ports to tests
* leave via CoordinatedShutdown.run
* optionally exit-jvm in last phase
* run via jvm shutdown hook
* send ExitingConfirmed to leader before shutdown of Exiting
  to not have to wait for failure detector to mark it as
  unreachable before removing
* the unreachable signal is still kept as a safe guard if
  message is lost or leader dies
* PhaseClusterExiting vs MemberExited in ClusterSingletonManager
* terminate ActorSystem when cluster shutdown (via Down)
* add more predefined and custom phases
* reference documentation
* migration guide
* problem when the leader order was sys2, sys1, sys3,
  then sys3 could not perform it's duties and move Leving sys1 to
  Exiting because it was observing sys1 as unreachable
* exclude Leaving with exitingConfirmed from convergence condidtion
2017-01-16 09:01:57 +01:00
VEINHORN
0eac4d413b removed unnecessary new keywords 2017-01-13 12:35:05 +03: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
Konrad `ktoso` Malawski
ebc6bc1d50 Merge pull request #22013 from gosubpl/wip/12636-aes-ctr-prng-alternative-random
AES-CTR with re-seeding (#21740)
2017-01-11 16:09:29 +01:00
gosubpl
1f20c86d99 AES-CTR with re-seeding, review remarks included (#21740) 2017-01-11 04:31:09 +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
Johannes Rudolph
d1e255f42f Merge pull request #22086 from jrudolph/jr/w/22073-enable-mutual-auth-by-default
!rem #22073 enable mutual TLS authentication by default
2017-01-03 15:43:43 +01:00
Johannes Rudolph
bbb5ccb8ed !rem #22073 enable mutual TLS authentication by default 2017-01-03 15:43:02 +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
Johannes Rudolph
73ff3e1dc9 =rem #21365 cleanup multiple lane creation slightly 2016-12-30 12:46:15 +01:00
Johannes Rudolph
2f5f93daa2 =rem #21365 use default directory for shared media driver to /dev/shm
It was reported that shared media driver performance can depend on the
kind of file-system where the files are contained. /dev/shm is an in-memory
filesystem that was reported to work well with the shared aeron media driver.
2016-12-30 12:32:12 +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
Konrad Malawski
2ab8ab2840 =21423 remove deprecated PersistentView 2016-12-15 12:31:20 +01:00
Konrad Malawski
d48ea5cacc =21423 deprecate ActorDSL 2016-12-15 12:31:20 +01:00
Konrad Malawski
881c646fd1 =21423 deprecate udp remoting, artery is the "new UDP" 2016-12-15 12:31:20 +01:00
Patrik Nordwall
dce668771e fix shutdown of pending StressSpec, #21960 (#21963) 2016-12-07 15:38:11 +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