Commit graph

1668 commits

Author SHA1 Message Date
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
Heiko Seeberger
ea13e6d869 Upgrade to Mockito 1.9.5 (closes #15493) 2014-07-04 09:45:35 +02:00
xuwei-k
45ff77e4f9 =act #15395 update typesafe config API URL 2014-06-20 14:45:07 +02:00
Konrad 'ktoso' Malawski
d51b79c95a !per persistAsync
Breaks binary compatibility because adding new methods to Eventsourced
trait. Since akka-persistence is experimental this is ok, yet
source-level compatibility has been perserved thankfuly :-)

Deprecates:
* Rename of EventsourcedProcessor -> PersistentActor
* Processor -> suggest using PersistentActor
* Migration guide for akka-persistence is separate, as wel'll deprecate in minor versions (its experimental)
* Persistent as well as ConfirmablePersistent - since Processor, their
  main user will be removed soon.

Other changes:
* persistAsync works as expected when mixed with persist
* A counter must be kept for pending stashing invocations
* Uses only 1 shared list buffer for persit / persistAsync
* Includes small benchmark
* Docs also include info about not using Persistent() wrapper
* uses java LinkedList, for best performance of append / head on
  persistInvocations; the get(0) is safe, because these msgs only
  come in response to persistInvocations
* Renamed internal *MessagesSuccess/Failure messages because we kept
  small mistakes seeing the class "with s" and "without s" as the same
* Updated everything that refered to EventsourcedProcessor to
  PersistentActor, including samples

Refs #15227

Conflicts:
	akka-docs/rst/project/migration-guides.rst
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/test/scala/akka/persistence/PersistentActorSpec.scala
	project/AkkaBuild.scala
2014-06-10 11:09:12 +02:00
Björn Antonsson
0c6d584adf Merge pull request #15335 from akka/wip-add-watchSources-for-rst-ban
=pro Add watchSources for *.rst to akka-docs (Forward Port)
2014-06-05 09:40:39 +02:00
Björn Antonsson
a917e2f816 =pro Add watchSources for *.rst to akka-docs 2014-06-03 10:29:43 +02:00
Martynas Mickevicius
e72945b544 =proj #15333 Update to sbt 0.13.5 2014-06-03 09:49:47 +02:00
Björn Antonsson
1e6ff06f8c =pro #15290 Make validatePullRequest run all tests 2014-05-27 08:11:29 +02:00
Björn Antonsson
cd7e456889 =pro #15116 Update Typesafe Config to 1.2.1 2014-05-21 10:16:24 +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
Martynas Mickevicius
fdcd964165 =pro #15031 separate sbt build file for every module 2014-05-14 10:05:09 +02:00
Martynas Mickevicius
07ca8d5a8d =pro #15166 do not redefine executeTests 2014-05-12 15:36:49 +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
Martynas Mickevicius
ee5ea5e13f =pro #15031 move build logic into separate files 2014-05-07 15:07:05 +02:00
Konrad 'ktoso' Malawski
293ecb09f9 =build #15103 Add Build start/finish events
These are visible on the grafana dashboard,
in order to be able to see on which commit
stats have been recorded.

It's enabled via: `-Dakka.sbt.graphite=true`

Resolves #15103
2014-05-07 10:23:21 +02:00
Martynas Mickevicius
78187064cf =pro #15018 update to sbt 0.13.5-RC1 which has publish fix 2014-05-02 11:04:06 +02:00
Konrad Malawski
164050ad4c Merge pull request #15069 from ktoso/wip-better-stats-keys
=pro all non-words must be replaced with _ for statsd keys
2014-04-29 11:01:02 +02:00
Konrad 'ktoso' Malawski
69ffd006cf =pro all non-words must be replaced with _, for statsd keys 2014-04-29 11:00:11 +02:00
Martynas Mickevicius
7b35ded34e =pro #15031 use sbt-unidoc plugin 2014-04-28 10:12:46 +02:00
Konrad Malawski
d84d583585 Merge pull request #15060 from ktoso/wip-15021-measure-each-test-perf-ktoso
build #15021,#13755 Emit statsd events during build
2014-04-26 01:14:01 +02:00
Konrad Malawski
2d56fbe91c build #15021,#13755 Emit statsd events during build 2014-04-25 17:12:59 +02:00
Patrik Nordwall
b48a97f9b4 Merge pull request #15049 from akka/wip-2.11-build-adjustments-master-patriknw
=pro #15045 Adjust build for Scala 2.11.0 (for validation)
2014-04-24 13:58:35 +02:00
Björn Antonsson
29c2bfaf97 =pro Remove unused dependency version 2014-04-24 11:13:58 +02:00
Patrik Nordwall
09cdfde569 Merge pull request #15011 from csomogyi/master
Fixing minor issues I found while building Akka on Windows
2014-04-24 10:49:28 +02:00
Patrik Nordwall
b267e8d882 =pro #15045 Adjust build for Scala 2.11.0
* Forward port of 2b891e7
2014-04-24 09:44:15 +02:00
Björn Antonsson
c8ea061472 =pro Update test dependencies to Scala 2.11 cross published versions 2014-04-23 13:58:38 +02:00
Patrik Nordwall
90388e01e3 Merge pull request #15013 from akka/wip-remove-atmos-in-build-patriknw
=pro Remove unused atmos project in build
2014-04-15 21:50:46 +02:00
Björn Antonsson
68c8df7ead Merge pull request #15012 from akka/wip-3969-update-gen-javadoc-master-ban
=pro Update genjavadoc version to 0.7
2014-04-15 17:54:24 +02:00
Patrik Nordwall
33891a0202 =pro Remove unused atmos project in build 2014-04-15 12:30:05 +02:00
Björn Antonsson
a5a17e4b66 =pro Update genjavadoc version to 0.7 2014-04-15 11:52:17 +02:00
Csongor Somogyi
9230f9710f Fixes #13983
Two changes have been made:
- In AkkaBuild, forced using UTF-8 to verify HTML files containing
  diagrams
- In the documentation chapter Building Akka, added a section clarifying
  the Graphviz dependency of generating Scaladoc Content Hierarchies

These fixes eliminates the issues I faced while building Akka on Windows
with NetBeans. The first issue is a Windows specific issue where the
default charset cannot be UTF-8. The second is Windows related in the
sense that Graphviz, the optional dependency of Scaladoc, had to be
manually resolved.
2014-04-15 11:40:51 +02:00
Martynas Mickevicius
b5572c2ac0 =pro use sbt 0.13.2 2014-04-15 11:33:51 +02:00
Patrik Nordwall
f677ed0b68 =pro sbt-0.13.2-RC2 with name hashing, scala 2.10.4
* take advantage of latest incremental compiler improvements
* scala 2.10.4
* Remove workaround in FutureSpec, bug fixed in Scala 2.10.4
* Change version of samples to allow snapshot overwrite in publishM2
* allow publish overwrite for osgi-dining-hakkers/uncommons
2014-04-11 14:11:02 +02:00
Raymond Roestenburg
d57d4bff10 =cam #3929 updated apache camel dependency to version 2.13.0 2014-03-22 10:44:10 +01:00
Björn Antonsson
82ee7e2ede Merge pull request #2083 from akka/wip-3910-zip-up-activator-templates-master-ban
+pro #3910 Make the build package all Activator templates
2014-03-20 14:51:22 +01:00
Roland Kuhn
ab58d7384a +pro #3907 fix OSGi Scala version constraint 2014-03-19 12:43:04 +01:00
Björn Antonsson
5509cb3d62 +pro #3910 Make the build package all Activator templates 2014-03-19 12:17:26 +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
4b977361eb !tra #3920 Remove deprecated durable mailboxes 2014-03-14 14:11:28 +01:00
Patrik Nordwall
9cc586b674 !tra #3920 Remove deprecated akka-transactor 2014-03-14 14:11:28 +01:00
Patrik Nordwall
9f906b2de9 !dat #3920 Remove deprecated akka-dataflow 2014-03-14 14:11:18 +01:00
Roland Kuhn
33030ca969 Merge pull request #2063 from agourlay/upgrade-leveldb
upgrade org.iq80.leveldb to 0.7
2014-03-14 09:34:17 +01:00
Arnaud Gourlay
dc039198b0 !per #3916 upgrade org.iq80.leveldb to 0.7 2014-03-10 17:31:28 +01:00
Patrik Nordwall
21b3d2ba48 =pro,sam,act Change version to 2.4-SNAPSHOT
* also include the disabled mima settings
2014-03-07 14:53:35 +01:00
Björn Antonsson
fb503a3993 Merge pull request #2045 from akka/wip-pomIncludeRepositories-∂π
=pro #3904 do not leak internal repositories during staging
2014-03-04 13:35:18 +01:00
Björn Antonsson
6fecb00f91 =pro Fixed release script Java version check 2014-03-04 11:16:39 +01:00
Roland Kuhn
2ed7c0e1b7 =pro #3904 do not leak internal repositories during staging 2014-03-04 10:50:47 +01:00
Björn Antonsson
70e30fb15b =pro Disable akka-samples and akka-dataflow in akka-scala-nightly for dbuild 2014-02-14 12:06:41 +01:00
Martin Krasser
cf6e61e45a =per #3774 Persistence activator templates 2014-02-13 13:41:21 +01:00
Patrik Nordwall
1a3080b7a6 +sam #3689 Make activator template of the multi-node sample 2014-02-13 12:43:04 +01:00