Commit graph

1792 commits

Author SHA1 Message Date
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
Patrik Nordwall
2bde9a6820 =pro Remove 2.12.0-M2 from cross 2015-08-14 15:21:34 +02:00
Patrik Nordwall
720dd56270 =pro Scala 2.12.0-M2 2015-08-14 14:31:56 +02:00
Konrad Malawski
5a6ee8bd49 Merge pull request #18051 from akka/wip-16541-persistence-query
+per #16541 initial version of the Persistence Query module
2015-08-12 22:14:44 +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
Patrik Nordwall
2694e13b32 !per #17862 Remove experimental from persistence 2015-08-12 13:52:19 +02:00
Patrik Nordwall & Konrad Malawski
f849793f36 +per #16541 initial version of the Persistence Query module 2015-08-11 16:35:28 +02:00
Konrad Malawski
0598f974fa =pro Fix accessing None in ValidatePullRequest 2015-07-08 15:13:54 +02:00
Patrik Nordwall
1c3746d11d Merge pull request #17901 from akka/wip-17778-ddata-java-samples-patriknw
=cdd #17778 Convert samples to java
2015-07-03 16:20:47 +02:00
Patrik Nordwall
94a61c7eb2 =cdd #17778 Convert samples to java 2015-07-03 16:19:57 +02:00
Konrad Malawski
98187ca306 Merge pull request #17886 from ktoso/wip-improve-diffing-prvalidation-ktoso
=pro #17841 improve PR validator to diff the merge commit for change …
2015-07-03 15:33:31 +02:00
Konrad Malawski
f8887938ee =pro #17841 improve PR validator to diff the merge commit for change detection 2015-07-03 15:32:40 +02:00
Patrik Nordwall
7bfc56f3f0 Merge pull request #17888 from akka/wip-17805-clearActorFields-patriknw
=act #17805 Don't change self on restart"
2015-07-03 13:54:12 +02:00
Patrik Nordwall
49264c0f83 Merge pull request #17864 from akka/wip-17779-ddata-activator-patriknw
=cdd #17779 Create activator template for Distributed Data
2015-07-02 17:49:50 +02:00
Patrik Nordwall
37321ee63f =act #17805 Don't change self on restart"
* we hold on to the same ActorRef instance anyway in the new
  Actor instance
2015-07-01 17:46:59 +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
252e88c082 =cdd #17779 Create activator template for Distributed Data
* includes the samples, with tutorial text description
2015-06-30 08:08:43 +02:00
Patrik Nordwall
e13a2d9560 Revert "=pro remove cross scala 2.12.0-M1"
This reverts commit bf485353f0.
2015-06-26 17:21:35 +02:00
Patrik Nordwall
bf485353f0 =pro remove cross scala 2.12.0-M1 2015-06-26 16:49:50 +02:00
Patrik Nordwall
ee9137db4d =cdd #17851 Mark distributed data as experimental 2015-06-26 15:31:49 +02:00
Konrad Malawski
7e86dac542 +per #17579 #17617 Introduces EventAdapter
+ per plugin scoped adapters
+ could be swapped during runtime
+per EventAdapter now has manifest and is configurable ai la serializers
+ json examples in docs
+ including "completely manual" example in case one wants to add
  metadata TO the persisted event
+ better error reporting when misconfigured bindings
+ manifest is handled by in memory plugin
- did not check if it works with LevelDB plugin yet
> TODO: json example uses Gson, as that's simplest to do, can we use
+per allows 1:n adapters, multiple adapters can be bound to 1 class
2015-06-23 16:57:43 +02:00
Konrad Malawski
9e3a9983a7 +act #17719 introduce Tuple3-22 classes for java api 2015-06-23 15:01:35 +02:00
Roland Kuhn
0de9f0ff40 Merge pull request #17641 from kukido/kukido-spellings-normalization
=doc #17329 Fixed and normalized spellings in ScalaDoc and comments
2015-06-19 12:06:53 +02:00
Patrik Nordwall
cbe5dd2cf5 +cdd #16799 Add Distributed Data module
Previously know as [patriknw/akka-data-replication](https://github.com/patriknw/akka-data-replication),
which was originally inspired by [jboner/akka-crdt](https://github.com/jboner/akka-crdt).

The functionality is very similar to akka-data-replication 0.11.

Here is a list of the most important changes:

* The package name changed to `akka.cluster.ddata`
* The extension was renamed to `DistributedData`
* The keys changed from strings to classes with unique identifiers and type information of the data values,
  e.g. `ORSetKey[Int]("set2")`
* The optional read consistency parameter was removed from the `Update` message. If you need to read from
  other replicas before performing the update you have to first send a `Get` message and then continue with
  the ``Update`` when the ``GetSuccess`` is received.
* `BigInt` is used in `GCounter` and `PNCounter` instead of `Long`
* Improvements of java api
* Better documentation
2015-06-18 15:58:22 +02:00
Patrik Nordwall
b61088e13b Merge pull request #17692 from ennru/master
2.4.0-M1: Wrong version of com.typesafe.config in OSGi manifest
2015-06-18 11:15:53 +02:00
Patrik Nordwall
6fb74532b6 Merge pull request #17673 from jwcarman/jwcarman-add-osgi-contrib
Adding OSGi metadata to contrib module.
2015-06-18 11:15:03 +02:00
Patrik Nordwall
dec53381b6 =rem #17554 Improve flow control of system message delivery
When watching many (5000) actors at the same time the
following problems were found:

* first send of a sys msg is sent without any flow control
  => limit the number of outstanding sys msg by using
     the buffer to send them later (ordinary resend)
* when msg cannot be written sys msg is dropped (relying on resend),
  but that cause message re-ordering and negative acknowledgment,
  which is very costly
  => buffer the sys msg on write failure
  => minor optimization of AckedReceiveBuffer

I also made the resend-limit configurable.

(cherry picked from commit ecfc271e9a9d7efcf76945632d89c78740291cc6)
2015-06-16 06:55:24 +02:00
Enno Runne
fa4a1e1413 Changed version for com.typesafe.config in OSGi manifest (was 1.2.x) to same as in Dependencies (1.3.0) 2015-06-10 11:22:14 +02:00
James Carman
b537084de3 Adding OSGi metadata to contrib module. 2015-06-06 09:16:49 -04:00
Andrey Myatlyuk
bc791eb86c =doc #17329 Fixed and normalized spellings in ScalaDoc and comments 2015-06-02 21:06:25 -07:00
Konrad Malawski
757b277e54 Merge pull request #17608 from akka/wip-17606-ActorPath-bin-compat-patriknw
=act #17606 Revert abstract class change of ActorPath
2015-06-01 13:13:37 +02:00
Patrik Nordwall
cef397d149 =act #17606 Revert abstract class change of ActorPath
It was not binary compatible. Placed static forwarders for Java API
in ActorPaths instead.
2015-05-29 11:11:09 +02:00
Konrad Malawski
c391e7e4cd =pro update mima plugin to 0.1.7
Adds Java 8 features
2015-05-29 10:04:51 +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
ba8756d485 Merge pull request #17543 from ktoso/wip-bump-jmh-to-autoplugin-ktoso
=pro update sbt-jmh and include for compilation in root
2015-05-25 17:17:31 +02:00
Roland Kuhn
5dc25fbb44 add crosscompilation for 2.12.0-M1 2015-05-21 21:09:30 +02:00
Konrad Malawski
12419a7dd5 =pro update sbt-jmh and include for compilation in root 2015-05-21 15:33:37 +02:00
Patrik Nordwall
53c5d974ea Merge pull request #17536 from akka/wip-bench-dep-patriknw
=pro Use provided dependency from persistence in bench-jmh
2015-05-21 08:00:13 +02:00
Patrik Nordwall
fe144aabd4 =pro Use provided dependency from persistence in bench-jmh
* compilation error when running release script
2015-05-21 07:42:27 +02:00
Konrad Malawski
087dbb5a33 =pro update sbt-unidoc to 0.3.3
This update solves our blocker issue about compile not being triggered properly before genjavadoc kicks in.
2015-05-20 18:04:31 +02:00
Roland Kuhn
c5fc56face do not generate javadoc for tests 2015-05-20 09:00:21 +02:00