Patrik Nordwall
5c96a5f556
replace unicode arrows
...
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
then it's complicated to avoid that when snippets are
located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
2019-03-11 16:58:51 +01:00
kerr
bdc90052aa
Update headers from 2018 to 2019 once for all. ( #26165 )
...
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
2019-01-02 11:55:26 +01:00
Helena Edelson
8a44fca087
Typed Distributed Data requires untyped Cluster #25746 ( #26074 )
...
Typed Distributed Data requires untyped Cluster [#25746 ](https://github.com/akka/akka/issues/25746 )
2018-12-14 15:53:08 -05:00
kerr
fafc59b19d
update headers to regular comment ( #25807 )
2018-10-29 05:19:37 -04:00
Konrad `ktoso` Malawski
563c7fbcf0
Issue 24594: Integration with sbt-headers and initial header population
2018-03-13 15:45:55 +01:00
Christopher Batey
009214ae07
Update copyright to 2018 ( #24241 )
2018-01-04 17:26:29 +00:00
Patrik Nordwall
b700b840d1
causal delivery of deltas, #22188
...
* keep track of delta interval versions and skip deltas
that are not consequtive, i.e. when some delta message was lost
* send the delta versions in the full state gossip to sync up the
expected versions after dropped deltas
* implementation of deltas for ORSet
* refactoring of the delta types to allow for different type for the
delta and the full state
* extensive tests
* mima filter
* performance optimizations
* simple pruning of deltas
* Java API
* update documentation
* KeyId type alias
* Use InternalApi annotation
2017-02-22 14:27:36 +01:00
Patrik Nordwall
952be31a7d
make pruning of CRDT garbage work, #21647
...
* fix merge issues of DataEnvelope and its pruning
* simplify by removing the tombstones, which didn't work in all cases anyway
* keep the PruningPerformed markers in the DataEnvelope until configured
TTL has elapsed (wall clock)
* simplify PruningState structure
* also store the pruning markers in durable data
* collect removed nodes from the data, listing on MemberRemoved is not enough
* possibility to disable pruning altogether
* documented caveat for durable data
2017-01-23 16:54:02 +01:00
Philippus Baalman
6c7085252a
extended copyright into 2017
2017-01-04 17:37:15 +01:00
Björn Antonsson
c66ce62d63
Update to a working version of Scalariform
2016-06-02 22:12:36 +02: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
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
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
8026e216aa
=cdd #18328 optimize ORSet.mergeCommonKeys
...
AFTER:
[info] Benchmark (set1Size) Mode Cnt Score Error Units
[info] ORSetMergeBenchmark.mergeAddFromBothNodes 1 thrpt 10 737.646 ± 10.289 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes 10 thrpt 10 146.706 ± 6.331 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes 20 thrpt 10 95.553 ± 1.801 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromBothNodes 100 thrpt 10 18.321 ± 0.586 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode 1 thrpt 10 1274.526 ± 23.732 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode 10 thrpt 10 162.426 ± 20.490 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode 20 thrpt 10 102.436 ± 2.435 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromOtherNode 100 thrpt 10 18.911 ± 0.659 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode 1 thrpt 10 653.358 ± 71.232 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode 10 thrpt 10 147.385 ± 2.750 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode 20 thrpt 10 94.280 ± 0.894 ops/ms
[info] ORSetMergeBenchmark.mergeAddFromSameNode 100 thrpt 10 17.922 ± 1.522 ops/ms
[info] ORSetMergeBenchmark.mergeComplex 1 thrpt 10 335.060 ± 8.385 ops/ms
[info] ORSetMergeBenchmark.mergeComplex 10 thrpt 10 134.438 ± 3.044 ops/ms
[info] ORSetMergeBenchmark.mergeComplex 20 thrpt 10 86.015 ± 2.145 ops/ms
[info] ORSetMergeBenchmark.mergeComplex 100 thrpt 10 17.611 ± 0.136 ops/ms
BEFORE:
[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
2015-11-25 09:14:24 +01: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