Commit graph

524 commits

Author SHA1 Message Date
Konrad Malawski
51dc89c45e Merge pull request #18963 from johanandren/wip-18312-failed-cluster-metrics-test-johanandren
=tes #18312 Increased the timeout of the test actor and dilated it
2015-11-24 12:37:12 +01:00
lolski
8819535250 +act #18913 moved PrettyDuration to akka-actor 2015-11-21 00:01:51 +08:00
Johan Andrén
3c579999fa =tes #18312 Increased the timeout of the test actor and dilated it 2015-11-18 16:53:35 +01:00
Stefan Wachter
cdb229f9b3 consider akka.test.timefactor when using akka.test.filter-leeway 2015-10-29 18:14:33 +01:00
Martynas Mickevičius
4ffe267835 =pro verify BC against all binary compatible versions 2015-10-23 09:10:25 +03:00
Patrik Nordwall
013e180e5b Merge pull request #18423 from akka/wip-15399-TestKitBase-doc-patriknw
=tes #15399 Remove warning from TestKitBase
2015-09-09 19:04:13 +02:00
Patrik Nordwall
0105675aec =tes #15399 Remove warning from TestKitBase 2015-09-08 15:59:16 +02:00
Johan Andrén
b3c9273be3 =tes #16074 remove return statements from scala sources 2015-09-08 11:23:39 +02:00
Matthew Livesey
0c56b72686 +tes #13980 #17276 #18077 Added missing overloads on TestActorRef 2015-07-28 20:49:44 +01:00
Konrad Malawski
efe2459875 =tes since 2.4.x requires Java8, we can drop LongAdder and Striped copies 2015-07-16 00:26:57 +02:00
Andrey Myatlyuk
bc791eb86c =doc #17329 Fixed and normalized spellings in ScalaDoc and comments 2015-06-02 21:06:25 -07:00
Martynas Mickevičius
7fc2790458 =pro run multi-jvm tests when validating pr
* addunidoc task via an AutoPlugin that depends on PrValidation and Unidoc autoplugins
* separate cli option logic to a case class
* remove autoplugin for root project
2015-05-28 13:57:50 +03:00
Konrad Malawski
7c4acc4f33 Merge pull request #17550 from rladstaetter/patch-1
documentation update for TestKit class
2015-05-22 20:33:53 +02:00
Robert Ladstätter
e642937c84 documentation update for TestKit class 2015-05-21 21:58:16 +02:00
Roland Kuhn
5dc25fbb44 add crosscompilation for 2.12.0-M1 2015-05-21 21:09:30 +02:00
Roland Kuhn
18688fc84b = #17380 fix doc comments for java8 doclint
* actor and cluster-metrics comments
* agent/camel/cluster/osgi/persistence/remote comments
* comments in contrib/persistence-tck/multi-node/typed
2015-05-18 12:51:36 +02:00
Patrik Nordwall
0953e7aee3 !pro #17380 Build with Java 8
* genjavadoc adjustments for java8
2015-05-18 12:51:34 +02:00
Patrik Nordwall
b30e460be7 = #17342 Make 2.4 binary compatible with 2.3
(cherry picked from commit 89af8bdb90)

* remove final identifier in serializers

i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY

* adding back compatible empty constructor in serializers

* make FSM.State compatible

* add back ActorPath.ElementRegex

* revert SocketOption changes and add SocketOptionV2
  see a6d3704ef6

* problem filter for ActorSystem and ActorPath

* problem filter for ByteString

* problem filter for deprecated Timeout methods

* BalancingPool companion

* ask

* problem filter for ActorDSL

* event bus

* exclude hasSubscriptions

* exclude some problems in testkit

* boundAddress and addressFromSocketAddress

* Pool nrOfInstances

* PromiseActorRef

* check with 2.3.9

* migration guide note

* explicit exclude of final class problems
2015-05-11 21:11:52 +02:00
Konrad Malawski
bebdb870b6 +pro Update ScalaTest in order to use tag ignoring in sbt 2015-05-08 15:40:34 +02:00
Patrik Nordwall
79e7fe22de =tes #17080 Move TestUtils to testkit.SocketUtil
(cherry picked from commit 3df2a822efa7e1330d564ceea7506d606359e17c)

Conflicts:
	akka-actor-tests/src/test/scala/akka/actor/ActorPerfSpec.scala
	akka-actor-tests/src/test/scala/akka/io/UdpIntegrationSpec.scala
	akka-durable-mailboxes/akka-file-mailbox/src/main/scala/akka/actor/mailbox/filebased/filequeue/Journal.scala
	akka-testkit/src/main/scala/akka/testkit/SocketUtil.scala
2015-04-08 08:21:38 +02:00
Ekin Gecikligun
6b1b8316c7 +tes #17023 Adding ForwardActor among test-kit actors 2015-03-26 13:29:36 +02:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Patrik Nordwall
30df518421 =tes Use ConversionCheckedTripleEquals 2015-03-10 08:17:03 +01:00
Roland Kuhn
5e1fd1db6c Merge pull request #16763 from akka/wip-cleanup-actor-∂π
fix all non-deprecation warnings
2015-02-06 20:54:12 +01:00
Dale Wijnand
abdb9e1f2d Fix code example in TestKit docs. 2015-02-03 11:40:46 +00:00
Roland Kuhn
613f63b526 fix warnings in actor and testkit 2015-01-30 11:33:33 +01:00
Roland Kuhn
d9efd041f7 add akka-typed project with generic ActorRef
This is the first step towards more type-safety in Actor interactions,
comprising:

* generic ActorRef[T] that only accepts T messages
* generic ActorSystem[T] extends ActorRef[T] (sending to the guardian,
  whose Props[T] are provided for ActorSystem construction)
* removed the Actor trait: everything in there has been made into
  messages and signals
* new Behavior[T] abstraction that consumes messages (of type T) or
  Signals (lifecycle hooks, Terminated, ReceiveTimeout, Failed),
  producing the next Behavior[T] as the result each time
* the ask pattern is provided and yields properly typed Futures
* variants of ActorContext are provided for synchronous testing of
  Behaviors

All of this is implemented without touching code outside akka-typed
(apart from making guardianProps configurable), creating wrapper objects
around ActorRef, ActorContext, ActorSystem, Props and providing an Actor
implementation that just runs a Behavior.
2015-01-29 11:42:28 +01:00
Paweł Wiejacha
f480989b25 +tes #16431 support for TestProbe with user-defined name 2014-12-04 22:42:40 +01:00
Patrik Nordwall
6a7133ea21 !tes #16075 Change default awaitAssert interval to 100 ms 2014-11-21 11:36:37 +01:00
Andrei Pozolotin
d83acb92c3 = akka-*: full name space for loggers - resolve #16138
reflect logger name changes in the migration guide

fix typo in migration guide

fix typo in migration guide (xml)
2014-11-18 09:17:07 -06:00
Pavel Boldyrev
9b9ad0d831 +tes add static modifier for overloaded JavaTestKit.shutdownActorSystem(...) methods to make them more usable in unit tests. 2014-11-16 22:39:19 -05:00
Martynas Mickevičius
9311e9474e =pro Grab binary version for MIMA combatibility testing from a setting.
Thanks to @jsuereth
2014-10-28 15:13:13 +02:00
Benjamin Poserow
53e066513d =tes Fix comments in TestEventListener for different event types 2014-10-19 22:22:03 -04:00
Konrad 'ktoso' Malawski
d8a2f1471b =tes #15808 force the locale in pretty duration, its only a helper 2014-09-05 12:23:57 +02:00
Konrad 'ktoso' Malawski
6b1e117a8c =tes #15777 simple, but stable fix to , or . sensitivity in spec
Solves #15777
2014-08-29 17:04:14 +02:00
Viktor Klang
cd8e97c060 +act - 15757 - Reworks implementation of ActorSystem shutdown
* deprecates awaitTermination, shutdown and isTerminated
  * introduces a terminate-method that returns a Future[Unit]
  * introduces a whenTerminated-method that returns a Future[Unit]
  * simplifies the implementation by removing blocking constructs
  * adds tests for terminate() and whenTerminated
2014-08-25 15:49:28 +02:00
Patrik Nordwall
4e54672198 =tes #15167 Harden TestTimeSpec 2014-08-07 11:58:44 +02:00
Łukasz Dubiel
2c88bb1169
=act #13970 Send transistion on goto(CurrentState) in FSM
When in `A`:
* `goto(A)` will trigger `onTransition(A -> A)`
* `stay()` will NOT trigger `onTransition`

Includes:
* migration guide
* docs updates
* test
2014-07-18 17:36:55 +02:00
Michal Knapik
7ca3a9699e +tes #12681 add EchoActor 2014-07-11 11:16:35 +02:00
Konrad 'ktoso' Malawski
67784dbdae =tes #15132 remove not needed lazy val 2014-06-20 16:54:53 +02:00
Marcin Kubala
cdf2bc24d4 +tes #15132 Add additional overloaded expectMsg to TestKit 2014-06-06 21:43:14 +02:00
Marcin Kubala
a165f6da92 =tes #15357 fix for PrettyDurationSpec 2014-06-04 20:50:26 +02:00
Konrad 'ktoso' Malawski
0ab8e2f37a =tes #15165 MetricsKit should not nullpointer on racy graphite usage
The report() call can come from multiple threads in our code,
yet it was opening/closing a shared graphite client instance in this
method, causing NPE when periodic reporting kicked in during a manual
report() call. We want to be able to do this - thus rewrite to safe impl

Removed metrics-graphite dependency, replaced by in house impl.
The previous was using discrete write() calls, which could be entangled
when called from multiple threads, and produce invalid metric lines.
Current impl is simpler and threadsafe, as the lock for write(String) to
aquired for the entire string lenght's write (unlike multiple write calls).

Resolves #15165
2014-05-20 01:22:01 +02:00
Konrad 'ktoso' Malawski
26936e999f =act #15165 should fix out-of-bounds in actor creation
Other than that, also improved failure logging when AIOOB happens in the histogram
Added a test which shows why the updateWithExpectedInterval method
should be preferred too.
2014-05-14 16:33:41 +02:00
Martynas Mickevicius
fdcd964165 =pro #15031 separate sbt build file for every module 2014-05-14 10:05:09 +02:00
Konrad 'ktoso' Malawski
2e221b99dc =tes #15155 prettyduration should work with infinity
adjust default precision to be 4 (fits use case better)
2014-05-09 16:20:24 +02:00
Konrad 'ktoso' Malawski
684c0279ec =act,tes Initial draft of internal MetricsKit
Note: This is NOT aimed to provide an micro-benchmarking solution.
The goal is to provide data for broad trend analysis. For techniques
that fight the inliner and other specialised techniques, refer to JMH.

+ custom console and graphite reporters
  - had to be custom because it's not possible to add custom metric
    types to the existing reporters
+ initial hdr.Histogram histogram() provider, see
  http://latencyutils.github.io/LatencyUtils/
+ Not using timers provided by Metrics, instead use the above histogram
+ Added average Actor size measurement
+ Measuring the "blocking time" when an actor is created, before we fire
  of the async part of this process; Measures in loop and will fluctuate
  a lot. Times are in `us` -- System.nanoTime should provide good enough
  resolution.
+ Measuring total actor creation time by using
  `KnownOpsInTimespanTimer`, which given a known number of ops, in a
  large amount of time, roughtly estimates time per one operation.
  // Yes, we are aware of the possibility of GC pauses and other horrors
+ All classes are `private[akka]`, we should not encourage people to use
  this yet
+ Counters use Java 8's `LongAdder`, which is metric's private;
  The new trend in Java land will be copy paste-ing this class ;)
+ Metrics are logged to Graphite, so we can long-term analyse these
+ Reporters are configurable using typesafe-config

! I'm not very happy about how I work around Metrics not being too open
  for adding additional custom metrics. Seems like a hack at places.
  I will consider removing the Metrics dependency all together.
  numbers

Example output:

```
-- KnownOpsInTimespanTimer-------------------------------------------
  actor-creation.total.creating-100000-actors.Props|new-EmptyArgsActor|…||-same
               ops = 100000
              time = 1.969 s
             ops/s = 50782.22
               avg = 19.69 μs

-- AveragingGauge---------------------------------------------------
  actor-creation.Props|new-EmptyArgsActor|…||-same.avg-mem-per-actor
                avg = 439.67
```
2014-05-08 14:52:39 +02:00
Roland Kuhn
a9c022e92a +act,mul #3948 add MultiNodeSpec.startNewSsytem() and system.abort()
abort() currently only changes that remote-deployed child actors are not
waited for during termination (because that would not change anything);
it is still a different operation than shutdown() since it changes what
you are guaranteed to observe after termination.

testConductor.shutdown(..., abort = true) uses this mode of termination.

improve MultiNodeSpec to allow injection of deployment configuration
into arbitrary actor systems

include number of received elements in the timeout failure message for
TestKit.receiveN
2014-03-21 20:43:06 +01:00
Patrik Nordwall
c3b237ce8d Merge pull request #2066 from akka/wip-3920-remove-deprecated-patiknw
Remove deprecated features
2014-03-14 14:20:05 +01:00
Patrik Nordwall
66e4ca9e93 !tes #3920 Remove TestKit.dilated 2014-03-14 14:16:29 +01:00