Commit graph

152 commits

Author SHA1 Message Date
Patrik Nordwall
3465a221f0 format with new Scalariform version
* and fix mima issue
2016-06-03 12:56:49 +02:00
Patrik Nordwall
839ec5f167 Merge branch 'master' into wip-sync-artery-patriknw 2016-06-03 11:09:17 +02:00
Björn Antonsson
c66ce62d63 Update to a working version of Scalariform 2016-06-02 22:12:36 +02:00
Patrik Nordwall
fc6a335610 improve performance of literal encoding (#20655)
* improve performance of literal encoding

* use char array instead of getBytes
* JMH benchmark

* use Unsafe to get the char array
2016-06-01 11:55:25 +02:00
Patrik Nordwall
a0f8f19e86 change header to use serializer id instead of FQCN
* because FQCN can become a problem for rolling upgrade scenarios
  where you want to rename serializer classes
* also renamed classManifest to manifest because it doesn't have
  to be class names
2016-05-27 12:26:15 +02:00
Patrik Nordwall
5b7c978844 add JMH benchmark for encoder decoder stage
* CodecBenchmark that tests encode, decode and combined
  encode + decode
* refactoring of codec stages to make it possible to
  run them without real ArteryTransport
* also fixed a bug in inbound stream for large messages,
  it was using wrong envelope pool
2016-05-27 12:21:30 +02:00
Michał Kiędyś
b983f19c1f Add basic support for Java 7 NIO file systems (#20293) 2016-04-25 11:25:26 +02:00
Roland Kuhn
2bc2dcb14a Merge pull request #20034 from akka/wip-19949-ANQ.count-loop-RK
fix endless loop race condition in NodeQueue, #19949
2016-03-17 10:54:03 +01:00
Konrad Malawski
c69efe4dd8 !htc WIP #19956 removing case classes from HttpMessages 2016-03-17 09:29:59 +01:00
Roland Kuhn
f9d3789bfc fix endless loop race condition in NodeQueue, #19949
- also fixed some forgotten copy-pasta between peekNode and pollNode
- also added JavaDoc to all methods, explaining which can be used from
  what thread
- did not fix the JDK8 improvement of using Unsafe instead of inheriting
  from AtomicReference since that inheritance is not a bad thing,
  actually
2016-03-16 20:37:39 +01:00
Alexander Golubev
b2b2ce44b5 =str #19299 Performance Flow.flatMapMerge 2016-03-14 14:14:39 -04:00
Martynas Mickevičius
50f99328fe #18765 Update to latest MiMa which is now an AutoPlugin.
* check for binary inc. issues by default
* if check is not needed, disable MimaPlugin
* determine old artifact id from the current one
2016-03-10 10:45:35 +02:00
Alexander Golubev
0cb7c9395a =str #19481 Fix akka-bench 2016-03-06 14:49:46 -05:00
Johannes Rudolph
b6cbc7f13a =all remove unused imports 2016-02-23 20:29:22 +01:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
Roland Kuhn
125c996fae add new Streams Quick Start
also move IOResult to akka.stream package
2016-02-16 18:14:32 +01:00
Prayag Verma
b7783968a0 =pro #19068 All copyrights ranges and single years updated to a range ending in 2016 2016-01-25 10:20:30 +01:00
Martynas Mickevičius
f2553eb3b6 #19446 #18869 Add IOResult
which is used as a materialized value for Sources/Sinks that work with IO.
2016-01-21 18:06:42 +02:00
Roland Kuhn
e5baba2b29 squash some warnings 2016-01-20 11:54:24 +01:00
Roland Kuhn
3140e72265 #19046 replace system.{shutdown => terminate} 2016-01-20 11:50:43 +01:00
Endre Sándor Varga
60497f6561 also fix FlowInterleaveSpec
Also-by: Johan Andrén <johan@markatta.com>
Also-by: Roland Kuhn <rk@rkuhn.info>
Also-by: Martynas Mickevičius <mmartynas@gmail.com>
2016-01-20 10:01:58 +02:00
Johan Andrén
4e90f7ccc1 =pro #18744 Disable generation of javadoc for akka-bench-jmh 2016-01-18 14:07:44 +01:00
Konrad Malawski
f6147972d7 +pro add Akka Streams HTTP to master build
> merged akka-bench-jmh-dev with akka-bench-jmh
> renamed akka-stream-tck to more correctly named akka-stream-tests-tck
> merged java8 tests with normal tests in http
2016-01-13 01:25:04 +01:00
Patrik Nordwall
c11b600cc1 !cdd #18328 optimize VersionVector for size 1 (typical dots)
AFTER:

[info] Benchmark                                  (set1Size)   Mode  Cnt     Score     Error   Units
[info] ORSetMergeBenchmark.mergeAddFromBothNodes           1  thrpt   10  2007.939 ±  74.673  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          10  thrpt   10   337.110 ±  15.055  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          20  thrpt   10   223.600 ±   8.403  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes         100  thrpt   10    46.697 ±   2.136  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode           1  thrpt   10  2542.537 ± 120.697  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          10  thrpt   10   365.694 ±  17.571  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          20  thrpt   10   216.323 ±   9.446  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode         100  thrpt   10    49.563 ±   2.725  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode            1  thrpt   10  9883.186 ± 725.672  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           10  thrpt   10  3266.528 ± 189.993  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           20  thrpt   10  3206.017 ± 124.623  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode          100  thrpt   10  2709.031 ± 162.182  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                    1  thrpt   10   572.704 ±  21.504  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   10  thrpt   10   249.226 ±  12.324  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   20  thrpt   10   170.560 ±  10.320  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                  100  thrpt   10    46.373 ±   1.800  ops/ms

BEFORE:

[info] Benchmark                                  (set1Size)   Mode  Cnt     Score     Error   Units
[info] ORSetMergeBenchmark.mergeAddFromBothNodes           1  thrpt   10   885.664 ±  99.718  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          10  thrpt   10   304.617 ±   4.755  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          20  thrpt   10   200.977 ±   3.708  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes         100  thrpt   10    47.879 ±   4.352  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode           1  thrpt   10  1586.848 ±  27.476  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          10  thrpt   10   354.408 ±   4.772  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          20  thrpt   10   210.563 ±  32.914  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode         100  thrpt   10    52.750 ±   0.698  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode            1  thrpt   10  3915.817 ± 420.643  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           10  thrpt   10  2369.476 ± 250.336  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           20  thrpt   10  2378.924 ±  47.160  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode          100  thrpt   10  2167.841 ±  20.339  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                    1  thrpt   10   387.261 ±   8.820  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   10  thrpt   10   212.661 ±   4.802  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   20  thrpt   10   151.512 ±   2.627  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                  100  thrpt   10    40.976 ±   2.014  ops/ms

* use subtype polymorphism for VersionVector

tmp
2015-11-25 09:17:12 +01:00
Patrik Nordwall
a4b5de535f =cdd #18328 add JMH benchmark, baseline
[info] Benchmark                                  (set1Size)   Mode  Cnt    Score    Error   Units
[info] ORSetMergeBenchmark.mergeAddFromBothNodes           1  thrpt   10  492.291 ± 55.903  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          10  thrpt   10   79.890 ±  4.977  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes          20  thrpt   10   44.560 ±  9.081  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes         100  thrpt   10    9.405 ±  0.323  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode           1  thrpt   10  714.043 ± 14.694  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          10  thrpt   10   88.281 ± 13.858  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode          20  thrpt   10   49.001 ±  0.940  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode         100  thrpt   10    9.379 ±  0.300  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode            1  thrpt   10  487.261 ±  7.457  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           10  thrpt   10   80.073 ±  9.736  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode           20  thrpt   10   46.385 ±  1.225  ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode          100  thrpt   10    9.583 ±  0.234  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                    1  thrpt   10  313.959 ± 31.419  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   10  thrpt   10   79.265 ±  1.126  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                   20  thrpt   10   44.478 ±  2.077  ops/ms
[info] ORSetMergeBenchmark.mergeComplex                  100  thrpt   10    9.202 ±  0.564  ops/ms

[info] Benchmark                                   (size)   Mode  Cnt      Score      Error   Units
[info] VersionVectorBenchmark.compareGreaterThan1       1  thrpt   10  15628.820 ±  913.690  ops/ms
[info] VersionVectorBenchmark.compareGreaterThan1       2  thrpt   10  15471.453 ±  216.868  ops/ms
[info] VersionVectorBenchmark.compareGreaterThan1       5  thrpt   10  12518.032 ± 1599.615  ops/ms
[info] VersionVectorBenchmark.compareGreaterThan2       1  thrpt   10  15320.311 ±  279.346  ops/ms
[info] VersionVectorBenchmark.compareGreaterThan2       2  thrpt   10  13667.638 ±  414.068  ops/ms
[info] VersionVectorBenchmark.compareGreaterThan2       5  thrpt   10  12708.479 ±  287.942  ops/ms
[info] VersionVectorBenchmark.compareSame1              1  thrpt   10  16096.976 ±  495.227  ops/ms
[info] VersionVectorBenchmark.compareSame1              2  thrpt   10  15399.394 ±  305.350  ops/ms
[info] VersionVectorBenchmark.compareSame1              5  thrpt   10  12754.067 ± 1466.724  ops/ms
[info] VersionVectorBenchmark.compareSame2              1  thrpt   10  15282.217 ±  318.708  ops/ms
[info] VersionVectorBenchmark.compareSame2              2  thrpt   10  13777.859 ±  328.712  ops/ms
[info] VersionVectorBenchmark.compareSame2              5  thrpt   10  12711.851 ± 1159.166  ops/ms
[info] VersionVectorBenchmark.increment                 1  thrpt   10  33512.998 ±  610.102  ops/ms
[info] VersionVectorBenchmark.increment                 2  thrpt   10  32245.963 ±  317.847  ops/ms
[info] VersionVectorBenchmark.increment                 5  thrpt   10  20970.493 ±  346.039  ops/ms
[info] VersionVectorBenchmark.merge                     1  thrpt   10  31914.961 ± 1000.649  ops/ms
[info] VersionVectorBenchmark.merge                     2  thrpt   10  14560.442 ±  732.734  ops/ms
[info] VersionVectorBenchmark.merge                     5  thrpt   10   3673.067 ±  148.871  ops/ms
[info] VersionVectorBenchmark.mergeConflicting          1  thrpt   10   5436.032 ±  531.450  ops/ms
[info] VersionVectorBenchmark.mergeConflicting          2  thrpt   10   4641.969 ±   59.338  ops/ms
[info] VersionVectorBenchmark.mergeConflicting          5  thrpt   10   3489.843 ±  127.217  ops/ms
2015-11-25 09:14:24 +01:00
Patrik Nordwall
7b22aa499d =act #18613 Optimize RepointableActorRef for sys msg
* Before the cell is started the RepointableActorRef queue the messages
  (both system and non-system messages) into a queue. System messages
  are inserted right before the last non-system message by iterating
  the queue, i.e. becomes slow when there are many system messages already
  enqueued.
* This is a problem for pools with many routees.
* The fix is to keep system messages in a separate queue

JMH benchmark before:

    [info] Benchmark                                 (size)  Mode  Cnt       Score      Error  Units
    [info] RouterPoolCreationBenchmark.testCreation    1000    ss  300   13204.048 ± 3081.576  us/op
    [info] RouterPoolCreationBenchmark.testCreation    2000    ss  300   41939.524 ± 6178.087  us/op
    [info] RouterPoolCreationBenchmark.testCreation    3000    ss  300   70752.881 ± 4344.992  us/op
    [info] RouterPoolCreationBenchmark.testCreation    4000    ss  300  120620.885 ± 3296.342  us/op

JMH benchmark after:

    [info] Benchmark                                 (size)  Mode  Cnt      Score      Error  Units
    [info] RouterPoolCreationBenchmark.testCreation    1000    ss  300   7738.721 ± 1806.297  us/op
    [info] RouterPoolCreationBenchmark.testCreation    2000    ss  300  15497.588 ± 4532.852  us/op
    [info] RouterPoolCreationBenchmark.testCreation    3000    ss  300  28704.005 ± 6322.458  us/op
    [info] RouterPoolCreationBenchmark.testCreation    4000    ss  300  37783.516 ± 6778.437  us/op

fully drain sysmsgQueue when swap cell
2015-11-11 15:46:01 +01:00
Patrik Nordwall
1b1ef752fe =act #16522 Optimize Stash creation
* cache the stash capacity config value

BEFORE

    [info] Result "testCustom":
    [info]   27.607 ±(99.9%) 7.924 us/op [Average]
    [info]   (min, avg, max) = (16.928, 27.607, 760217.600), stdev = 1369.808
    [info]   CI (99.9%): [19.682, 35.531] (assumes normal distribution)
    [info]   Samples, N = 323534
    [info]         mean =     27.607 ±(99.9%) 7.924 us/op
    [info]          min =     16.928 us/op
    [info]   p( 0.0000) =     16.928 us/op
    [info]   p(50.0000) =     21.824 us/op
    [info]   p(90.0000) =     31.680 us/op
    [info]   p(95.0000) =     38.592 us/op
    [info]   p(99.0000) =     57.920 us/op
    [info]   p(99.9000) =    102.144 us/op
    [info]   p(99.9900) =    371.471 us/op
    [info]   p(99.9990) =  85461.364 us/op
    [info]   p(99.9999) = 760217.600 us/op
    [info]          max = 760217.600 us/op

    [info] Result "testDefault":
    [info]   26.465 ±(99.9%) 15.980 us/op [Average]
    [info]   (min, avg, max) = (14.608, 26.465, 1461714.944), stdev = 2900.094
    [info]   CI (99.9%): [10.485, 42.444] (assumes normal distribution)
    [info]   Samples, N = 356626
    [info]         mean =     26.465 ±(99.9%) 15.980 us/op
    [info]          min =     14.608 us/op
    [info]   p( 0.0000) =     14.608 us/op
    [info]   p(50.0000) =     18.304 us/op
    [info]   p(90.0000) =     22.816 us/op
    [info]   p(95.0000) =     26.976 us/op
    [info]   p(99.0000) =     41.647 us/op
    [info]   p(99.9000) =     71.808 us/op
    [info]   p(99.9900) =    139.696 us/op
    [info]   p(99.9990) =  33048.112 us/op
    [info]   p(99.9999) = 1461714.944 us/op
    [info]          max = 1461714.944 us/op

    [info] Benchmark                             Mode     Cnt   Score    Error  Units
    [info] StashCreationBenchmark.testCustom   sample  323534  27.607 ±  7.924  us/op
    [info] StashCreationBenchmark.testDefault  sample  356626  26.465 ± 15.980  us/op

AFTER:

    [info] Result "testCustom":
    [info]   22.710 ±(99.9%) 1.384 us/op [Average]
    [info]   (min, avg, max) = (15.168, 22.710, 110886.912), stdev = 233.744
    [info]   CI (99.9%): [21.326, 24.094] (assumes normal distribution)
    [info]   Samples, N = 308896
    [info]         mean =     22.710 ±(99.9%) 1.384 us/op
    [info]          min =     15.168 us/op
    [info]   p( 0.0000) =     15.168 us/op
    [info]   p(50.0000) =     19.776 us/op
    [info]   p(90.0000) =     28.608 us/op
    [info]   p(95.0000) =     33.344 us/op
    [info]   p(99.0000) =     49.216 us/op
    [info]   p(99.9000) =     90.253 us/op
    [info]   p(99.9900) =    594.334 us/op
    [info]   p(99.9990) =   8350.329 us/op
    [info]   p(99.9999) = 110886.912 us/op
    [info]          max = 110886.912 us/op

    [info] Result "testDefault":
    [info]   19.099 ±(99.9%) 0.424 us/op [Average]
    [info]   (min, avg, max) = (13.120, 19.099, 45940.736), stdev = 77.524
    [info]   CI (99.9%): [18.675, 19.523] (assumes normal distribution)
    [info]   Samples, N = 361741
    [info]         mean =     19.099 ±(99.9%) 0.424 us/op
    [info]          min =     13.120 us/op
    [info]   p( 0.0000) =     13.120 us/op
    [info]   p(50.0000) =     16.368 us/op
    [info]   p(90.0000) =     24.250 us/op
    [info]   p(95.0000) =     31.232 us/op
    [info]   p(99.0000) =     55.680 us/op
    [info]   p(99.9000) =    121.249 us/op
    [info]   p(99.9900) =    402.386 us/op
    [info]   p(99.9990) =   1767.264 us/op
    [info]   p(99.9999) =  45940.736 us/op
    [info]          max =  45940.736 us/op
    [info]
    [info]
    [info] # Run complete. Total time: 00:02:01
    [info]
    [info] Benchmark                             Mode     Cnt   Score   Error  Units
    [info] StashCreationBenchmark.testCustom   sample  308896  22.710 ± 1.384  us/op
    [info] StashCreationBenchmark.testDefault  sample  361741  19.099 ± 0.424  us/op
2015-11-06 13:34:29 +01:00
Patrik Nordwall
ede151b52e =ben #15693 Sync benchmarks from release-2.3 branch 2015-09-11 17:02:04 +02:00
Patrik Nordwall
63ba2ae8e7 +per #17894 Support Future(Nil) in asyncWriteMessages
Future.successful(Nil) is an alternative way to signal all good
in the happy case, for reduced allocations.

fix test failure

benchJmh leveldb dependency

revert leveldb change
2015-08-12 13:54:29 +02:00
Konrad Malawski
09aff42d40 Merge pull request #17957 from ktoso/wip-ActorSelection-in-ALOD-ktoso
+per #16339 adds actorSelection support to AtLeastOnceDelivery
2015-08-11 12:12:05 +02:00
Konrad Malawski
b335b6ae9b +per #16339 adds actorSelection support to AtLeastOnceDelivery
TODO: need to add docs updates
2015-08-11 11:33:15 +02:00
Patrik Nordwall
cd965c80f9 =pro 18053 Disable diagram validation 2015-08-10 15:57:49 +02:00
Konrad Malawski
140c4dcdce =pro #17855 dont publish benchmarks or tests, fix license in bench 2015-07-01 17:05:12 +02:00
Patrik Nordwall
8c47e01e9d !per #15377 Mandate atomic writes for persistAll, and support rejections
* changing Plugin API for asyncWriteMessages and writeMessages
* passing explicit AtomicWrite that represents the events of
  persistAll, or a single event from persist
* journal may reject events before storing them, and that
  will result in onPersistRejected (logging) and continue in the
  persistent actor
* clarified the semantics with regards to batches and atomic writes,
  and failures and rejections in the api docs of asyncWriteMessages
  and writeMessages
* adjust the Java plugin API, asyncReplayMessages, doLoadAsync
2015-06-25 15:28:37 +02:00
Konrad Malawski
228ace497f Merge pull request #17593 from ktoso/wip-deferAsync-ktoso
!per #16797 rename defer to deferAsync, remove Seq version
2015-05-29 15:13:00 +02: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
d782cf59af !per #16797 rename defer to deferAsync, remove Seq version 2015-05-28 01:37:38 +02:00
Konrad Malawski
12419a7dd5 =pro update sbt-jmh and include for compilation in root 2015-05-21 15:33:37 +02:00
Konrad Malawski
0668ea5e22 =act #17071 Update typesafe-config to 1.3.0 2015-05-19 12:02:55 +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
c566d5a106 per #15423 Remove deprecated features from akka-persistence
* remove channels
* remove View
* remove Processor
* collapse the complicated internal state management
  that was spread out between Processor, Eventsourced and Recovery
* remove Recovery trait, this caused some duplication between Eventsourced
  and PersistentView, but but the enhanced PersistentView will not be based
  on recovery infrastructure, and therefore PersistentView code will be replaced anyway
* remove PersistentBatch
* remove LoopMessage
* remove deleteMessages of individual messages
* remove Persistent, PersistentRepr and PersistentImpl are kept
* remove processorId
* update doc sample code
* note in migration guide about persistenceId
* rename Resequencable to PersistentEnvelope
2014-12-12 16:18:47 +01:00
Konrad 'ktoso' Malawski
8ed68ebf3e =act #16344 ActorPath validation now without regex, safer and faster 2014-11-23 22:41:28 +01:00
Konrad 'ktoso' Malawski
d39427b3d9 +pro #16372 bring akka-bench-jmh benchmarks to master 2014-11-23 22:39:45 +01:00
Viktor Klang
439be7d99a =act #16152 - Elides the need to allocate an AkkaForkJoinTask for Mailbox-submission to registerForExecution,
by having Mailbox extend ForkJoinTask and using the fact that ForkJoinTask.exec when returning
false does not set completion on the task, so it is free to be resubmitted to the ForkJoinPool
without reinitialization.

Also adds the ability to use fork() when the currentThread is a worker thread of the pool that we want to execute on.

Adds a JMH benchmark for both the ping-pong performance and pipelined throughput.

Conflicts:
	project/AkkaBuild.scala
2014-10-29 15:04:48 +01:00
Krzysztof Janosz
1658f96862 +act #13004 Adding TailChopping router 2014-07-29 20:27:03 +02:00
Konrad 'ktoso' Malawski
ba3543b046 =per #15575 lessen timing issue in AtLeastOnce spec
* lower redelivery interval does not change semantics here (no one
  answers anyway), and lessens the changes to be "unlucky" with gc pauses
* was unable to reproduce error with snapshotting in 80 builds on
  jenkins. Brainstormed possible errors but not found yet..
2014-07-23 15:48:46 +02:00
Konrad 'ktoso' Malawski
6a09d478de =act #15488 add @volatile logLevel, and benchmark
Summary:
* made `logLevel` @volatile
* Perf benchmark and results are attached.

Please review @viktorklang
2014-07-17 14:59:32 +02:00
Konrad 'ktoso' Malawski
90bc347607 +per #13815 akka-persistence-tck based on @krasserm's work
Original here: https://github.com/krasserm/akka-persistence-testkit

New features:
* merged martin's tests
* usable from java (junit 4)
* simple bench test, which helps checking if ordering is perserved under
  bigger workloads and simple perf checking
* does NOT include tests for already deprecated features (deleteMessages)
* docs

Resolves #13815

Conflicts:
	project/AkkaBuild.scala
2014-07-14 19:39:30 +02:00
kerr
fa488ecc75 =ben #15516 correct tell_commandPersist_reply test with right props 2014-07-10 13:25:38 +03:00
Patrik Nordwall
b667e6c37a =per #15459 Use full batching for persistAsync and defer
(cherry picked from commit 20ac844b4f3999d0261f1a08957c2c2a8367c672)

Conflicts:
	akka-bench-jmh/src/main/scala/akka/persistence/PersistenceActorDeferBenchmark.scala
2014-06-27 12:18:56 +02:00