Commit graph

1832 commits

Author SHA1 Message Date
drewhk
93952f356a Merge pull request #19504 from akka/wip-18744-remove-jmh-bench-javadocs-johanandren
=pro #18744 Disable generation of javadoc for akka-bench-jmh
2016-01-19 15:15:57 +01:00
Martynas Mickevičius
8c1350b0d4 Merge pull request #19505 from 2m/wip-stream-build-fix
Various streams build improvements
2016-01-19 11:17:11 +02:00
Roland Kuhn
cc2daa5bd5 Merge pull request #19487 from akka/wip-19014-make-StageActorRef-location-transparent-RK
Wip 19014 make stage actor ref location transparent rk
2016-01-19 10:12:30 +01:00
Roland Kuhn
ea34103f98 #19014 add FunctionRef and use in GraphStage.StageActor
This new light-weight ActorRef supports running a non-blocking
side-effect upon message send, which is used to dispatch an async
callback to a GraphStageLogic, or it can be used to make the Akka Typed
adapters more efficient. The FunctionRef is registered with its parent,
and it is not user-level API (hence only accessible by downcasting the
ActorContext).
2016-01-19 08:32:38 +01:00
Martynas Mickevičius
7743aa9d0a Various streams build improvements
* remove settings duplication between AkkaBuild and project specific .sbt files
* do not publish test projects
* run akka-http-core tests
* fix lambda sample project versions
* remove obsolete projects (streamAndHttp, httpParent, docsDev)
* exclude parsing project from unidoc
* update to the latest sbt
2016-01-18 18:16:30 +02:00
Johan Andrén
4e90f7ccc1 =pro #18744 Disable generation of javadoc for akka-bench-jmh 2016-01-18 14:07:44 +01:00
Endre Sándor Varga
57c1dfde8a 19441: Use Optional instead of Option in http core javadsl 2016-01-15 16:20:46 +01:00
drewhk
d4b146588a Merge pull request #19450 from drewhk/wip-19440-add-scala-compat-java8-drewhk
#19440 Added scala-java8-compat as a dependency to streams
2016-01-14 15:21:33 +01:00
Endre Sándor Varga
b217e2e480 #19440 Added scala-java8-compat as a dependency to streams 2016-01-14 12:01:36 +01:00
Konrad Malawski
5a18d43435 +doc #19429 initial merge of docs-dev and docs 2016-01-14 00:31:03 +01:00
Konrad Malawski
3f9b8f6dd3 =pro fix stream tests tck project ref 2016-01-13 15:06:14 +01:00
Konrad Malawski
6122fe43a3 =pro disable docs in http core for now 2016-01-13 14:49:11 +01:00
Konrad Malawski
098ef546d7 =pro fix unidoc/javadoc settings 2016-01-13 14:36:58 +01:00
Konrad Malawski
7efc6e7a27 =pro fix aggregates 2016-01-13 01:58:29 +01:00
Konrad Malawski
00380d5488 =pro osgi cleanup 2016-01-13 01:28:59 +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
Konrad Malawski
0763a150e2 -pro remove unused build stats tooling 2016-01-12 10:26:36 +01:00
Patrik Nordwall
c015f22824 !peq #19324 update persistence-query to stream 2.0.1 2016-01-11 18:27:35 +01:00
Raymond Roestenburg
2404a9da01 #19246 Auto and manual reset and BackoffOptions.
Also moved `TransparantExponentialBackoffSupervisor` to `akka.pattern` (renamed to `BackoffOnRestartSupervisor`)
2015-12-29 21:23:16 +02:00
Brian Topping
15ee6268b3 =per #19283 Fix OSGi manifest for optional LevelDB dependency 2015-12-23 21:09:30 -07:00
Eugene Dzhurinsky
fb763040f2 Add named exception to detect when a cluster node has been quarantined by others #18758
Publish appropriate events to the current ActorSystem event stream upon remote ActorSystem shutdown or when current ActorSystem is quarantined by the remote ActorSystem.
2015-12-20 13:02:19 -05:00
Patrik Nordwall
0af98e7bee =per add detailed debug logging in ReplayFilter 2015-12-16 14:43:39 +01:00
Patrik Nordwall
b6b498bd2c =rem #19133 avoid DeathPactException race condition
* DeathPactException could occur if the ReliableDeliverySupervisor
  was gated but not yet received Terminated and got an Ungate message
  from the EndpointManager and thereby entered idle state, followed by
  receiving the Terminated message, which is not handled in idle
2015-12-16 14:20:30 +01:00
Patrik Nordwall
899900528e Merge pull request #19008 from talp-traiana/wip-18839-journal-proxy-patriknw
per #18839 Add better journal proxy
2015-12-07 11:08:29 +01:00
Johannes Rudolph
55ff8e4af2 =pro put some global keys in Global scope to prevent per project reexecution 2015-12-01 16:57:35 +01:00
Johannes Rudolph
5a93d3c018 =pro #19054 use sbt-dependency-graph directly 2015-12-01 16:50:40 +01:00
Johannes Rudolph
017b061737 =pro #19054 update to sbt-dependency-graph 0.8.0 2015-12-01 16:15:23 +01:00
Tal Pressman
f610952ae7 PersistencePluginProxy
* Rename to PersistencePluginProxy.
* Watch target journal.
* Create PersistencePluginProxyExtension to enable eager initialization of
  the persistence plugin.
* Add initialization via configuration.
* Add tests and documentation.
* Clearer log messages.
2015-12-01 17:12:33 +02: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
27995af79f =cls #18722 fix DDataShardCoordinator init
* the become logic was wrong when watchStateActors triggers an immediate
  state update
2015-11-18 16:13:58 +01:00
Endre Sándor Varga
c4e326c9dd +rem #18353: Prune reliable deliver actors
(cherry picked from commit 6643f56)
2015-11-13 10:15:31 +01:00
Konrad Malawski
18a24c0e50 Merge pull request #18295 from ktoso/wip-docs-warn-about-updated-docs-ktoso
+doc show warning if browsing outdated docs
2015-11-05 15:21:46 +01:00
Konrad Malawski
c527987cc3 +doc #18295 show warning if browsing outdated docs
+doc #18295 include versions.json updation during release
2015-11-05 13:21:24 +01:00
Martynas Mickevičius
4ffe267835 =pro verify BC against all binary compatible versions 2015-10-23 09:10:25 +03:00
Patrik Nordwall
94896e8e75 =rem #18339 Use explicit handshake timeout
* instead of using transport failure detector
* add a new config property akka.remote.handshake-timeout, but
  for netty.tcp and netty.ssl the existing netty.tcp.connection-timeout
  setting will be used
* add test of the timeouts
* mima filter for internal ProtocolStateActor
2015-10-19 14:34:52 +02:00
Patrik Nordwall
48754bb33f =pro #18447 Check binary compatibility with 2.4.0 2015-09-30 11:31:11 +02:00
Patrik Nordwall
0cdd9af3c4 +per #18485 Add cluster sharding data removal utility 2015-09-17 14:07:08 +02:00
Patrik Nordwall
cce3690c72 =pro #18408 Update to Scala 2.11.7 2015-09-08 14:38:09 +02:00
Patrik Nordwall
e5644d406e =pro workaround for scalaunidoc:doc issues 2015-09-04 16:01:01 +02:00
Veiga Ortiz, Héctor
c08bc317e2 +clu #13584 Accept joining to be WeaklyUp during network split
* experimental feature, disabled by default
* Adding documentation to mention weakly up members.
  plus adding new diagram.
2015-09-04 12:44:47 +02:00
Patrik Nordwall
f8c1671903 =rem #13783 Make ProtobufSerializer independent of protobuf version
* well, as long as they provide the parseFrom and toByteArray
* it is using reflection to find the `parseFrom` and `toByteArray` methods to avoid
  dependency to `com.google.protobuf`.
* also special case com.google.protobuf when loading serialization binding
* migration guide
* mima filters for the serializers (all types changed)
* add real test for ProtobufSerializer
2015-09-04 09:12:34 +02:00
Roland Kuhn
c3ecb87a65 =all #13783 replace protobuf dependency by embedded version
- created new subproject akka-protobuf (and added COPYING and LICENSE)
- renamed com.google.protobuf -> akka.protobuf everywhere
- also added such renaming step to the results of protoc compilation in
  project/Protobuf.scala
- had to include transcriptions of Netty’s ProtobufEncoder/Decoder to
  make multi-node-testkit compile again
2015-09-04 09:06:50 +02:00
Patrik Nordwall
737a50ebf3 =clu #17253 Improve cluster startup thread usage
When using a dispatcher (default or separate cluster dispatcher)
with less than 5 threads the Cluster extension initialization
could deadlock.

It was reproducable by adding a sleep before the Await of GetClusterCoreRef
in the Cluster extension constructor. The reason was that other cluster actors were
started too early and they also tried to get the Cluster extension and thereby blocking
dispatcher threads.

Note that the Cluster extension is started via ClusterActorRefProvider before
ActorSystem.apply returns.

The improvement is to start the cluster child actors lazily when the
GetClusterCoreRef is received.
2015-09-03 18:09:31 +02:00
Patrik Nordwall
a94f7cdc98 =clu #15412 Add paths(system) method to Group router
to be able to use the role correctly in cluster aware routers

This solution is very similar to what we did for nrOfInstances
in Pool routers.
2015-08-21 14:40:56 +02:00
Patrik Nordwall
50d7b1553a =cls #17846 Use provided scope for the distributed-data dependency 2015-08-21 14:36:52 +02:00
Ostapenko Evgeniy
6814d08ef1 =cls #17846 Use CRDTs instead of PersistentActor to remember the state of the ShardCoordinator #17871 2015-08-20 13:36:37 +03:00
Patrik Nordwall
009d80dd35 +per #18190 leveldb impl of EventsByPersistenceId query
* also changed EventsByPersistenceId query type to return
Source[EventEnvelope]
2015-08-19 18:58:58 +02:00
Patrik Nordwall
9a90f36d98 =clm #17768 Silence stacktrace in cluster sample
It works, but the stack trace is very annoying since it will always be printed by Sigar itself
(so stupid of such a library to use stderr and stdout).

    [error] org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path
    [error]     at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:174)
    [error]     at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:102)

A workaround is to run with `-Djava.library.path=./target/native`, then it will only print
the stack trace when it is not provisioned and next time it's silent.

Also updated to latest sigar-loader, but that did not make
any difference for this issue
2015-08-18 14:55:10 +02:00
Konrad Malawski
6b857912b5 =pro bump sbt-jmh dependency to 0.2.3 (cached source gen) 2015-08-14 17:29:16 +02:00