Commit graph

26106 commits

Author SHA1 Message Date
Andrei Arlou
3ffcdcc28c
Use apidoc directive in extending-akka.md (#22904) (#30796) 2021-11-16 17:45:01 +01:00
Patrik Nordwall
03b1584477
NoSuchElementException in LoadEventQuery (#30895)
* better than IllegalArgumentException
2021-11-16 15:40:34 +01:00
Johan Andrén
0e724379aa
Make node app version field public API (#30876) 2021-11-16 15:34:23 +01:00
Patrik Nordwall
5d381cdc74
Propagate aeron system properties to forked jvm, #30601 (#30894) 2021-11-16 15:33:13 +01:00
Andrei Arlou
0c67b741c7
Use apidoc directive in common/may-change.md (#22904) (#30775) 2021-11-16 15:25:43 +01:00
Patrik Nordwall
9b591a0476
Fix mima excludes for wildcardindex (#30896) 2021-11-16 13:26:54 +01:00
Peter Vlugter
a601f36b20
Add access pattern simulator for testing entity passivation strategies (#30884)
* with licence comment for ycsb
2021-11-16 13:00:05 +01:00
Andreas Gabor
058bf1029a
Add support for wildcard suffix in WildcardIndex #30413 (#30750)
* check for invalid usage of a double wildcard as a suffix
* added mima exclusions
* wildcard suffix example
2021-11-16 12:13:37 +01:00
Arnout Engelen
bdb46d16fd
Scala3: enable akka-cluster-sharding-typed tests (#30892)
* Scala3: enable akka-cluster-sharding-typed tests

* typo
2021-11-15 17:57:57 +01:00
Patrik Nordwall
596a2a463f
Add extract utilities to PersistenceId (#30881)
* extract entityTypeHint and entityId from persistence id String
2021-11-15 17:32:34 +01:00
Patrik Nordwall
20b684f04f
New Persistence Query interfaces for bySlices queries (#30882)
* and addition of TimestampOffset
* ApiMayChange
* small mention in docs

eventsBySlices is intended to be a better way to retrieve all events for an entity type
than eventsByTag.

The usage of `eventsByTag` for Projections has the major drawback that the number of tags
must be decided up-front and can't easily be changed afterwards. Starting with too many
tags means much overhead since many projection instances would be running on each node
in a small Akka Cluster. Each projection instance polling the database periodically.
Starting with too few tags means that it can't be scaled later to more Akka nodes.

Instead of tags we can store a slice number by hashing the persistence id.
Like `math.abs(persistenceId.hashCode % numberOfSlices)`.

Then the Projection query can be a range query of the slices. For example if using 128
slices and running 4 Projection instances the slice ranges would be 0-31, 32-63, 64-95,
96-128. That can easily be split to more Projection instances when needed and still
reuse the offsets for the previous range distributions.
2021-11-15 17:31:23 +01:00
Arnout Engelen
060fce1720
Scala 3: enable akka-cluster-metrics tests (#30891) 2021-11-15 17:29:37 +01:00
Patrik Nordwall
37873074a5
Fix StackOverflowError in multi-jvm tests, #30885 (#30886) 2021-11-15 13:47:08 +01:00
Arnout Engelen
19ee7ca9ab
Fix Scala 2.12 compilation (#30888) 2021-11-15 13:13:14 +01:00
Arnout Engelen
14bf4655f3
Allow 'currentPersistenceIds' for ReadJournal (#30878)
* allow 'currentPersistenceIds' for eventsourced journals

This allows `currentPersistenceIds(afterId, limit)`
to be mixed in with ReadJournal as well as with
DurableStateStore.

Instead of duplicating `CurrentDurableStatePersistenceIdsQuery` I
renamed it to `PagedPersistenceIdsQuery` and removed the restriction
that it must be a `DurableStateStore`. The downside is that it is less
obvious where it should/can be mixed in, that is now only communicated
through the java/scaladoc and the testkit example.

* Split Journal and DurableState traits
2021-11-15 11:54:47 +01:00
Johan Andrén
86b000c327
Miminal mention about state store config and example plugin #30857 (#30863) 2021-11-14 18:58:25 +01:00
Luke Ewer
70a4bc7a28
Fix typo in throttle documentation (#30880) 2021-11-14 18:57:46 +01:00
Patrik Nordwall
e51c0a92ed
Add slice utilities to Persistence (#30879)
* Add slice utilities to Persistence
* These will be used by a persistence plugin when it supports
  eventsBySlices
* Good to have these implementations in a single place in Akka rather
  than duplicating it in different plugins
* The numberOfSlices is hardcoded to 128 with the motivation described in
  doc comment, but by placing it in the Persistence extension we have the
  possiblity to make it configurable in the future if that is necessary
2021-11-14 18:56:53 +01:00
Patrik Nordwall
f6a2dff7f7
Try with less cpu requests and anti-affinity, #30874 (#30883)
* trying to fix the "does not have a host assigned" for some pods
  after the change to 10 pods
* reducing StressSpec to 10 multi-nodes
2021-11-13 16:44:09 +01:00
Renato Cavalcanti
523b5b7f43
updated scala versions (#30870) 2021-11-12 17:30:49 +01:00
Patrik Nordwall
f83ae19311
Reduce multi-node tests to 10 pods, #30874 (#30875) 2021-11-11 15:35:32 +01:00
Patrik Nordwall
744966bb99
Harden DistributedPubSubRestartSpec, #30699 (#30872)
* not sure if it's the cause of the failure but it
  looks like a missing barrier
2021-11-10 16:29:56 +01:00
Patrik Nordwall
d90532bc56
adjust cpu requests for failing ClusterSingletonManagerSpec, #30253 (#30873)
* ClusterSingletonManagerSpec is failing with Artery aeron-udp because of
  starvation slowness
* we use 5 nodes with 4 vCPU each
* ClusterSingletonManagerSpec uses 8 pods
* my thinking is that with the previous cpu request 1 it might
  schedule too many pods on the same node (if it doesn't distribute
  them evenly)
* with this new cpu request it should still be able to schedule 2 pods
  per node and that covers all tests except the StressSpec, which is
  anyway disabled
* also changed to n2 series and reduced idle-cpu-level
2021-11-10 16:29:06 +01:00
Andrei Arlou
5e2c9dc517
Use apidoc directive in additional/osgi.md (#22904) (#30816) 2021-11-08 10:46:04 +01:00
Andrei Arlou
068c44af75
Use apidoc directive in io.md (#22904) (#30813) 2021-11-08 10:34:38 +01:00
Scala Steward
8eeaf231ee
Update gson to 2.8.9 (#30867) 2021-11-08 10:33:05 +01:00
Scala Steward
d98a2ba6c4
Update sbt-ci-release to 1.5.10 (#30866) 2021-11-08 10:23:38 +01:00
Scala Steward
b9faf0262c
Update sbt-unidoc to 0.5.0 (#30865) 2021-11-08 10:22:59 +01:00
Jonas Ackermann
85ac5f4f02
[Docs] Update usage of lazySource in stream cookbook to match snippet (#30780) 2021-11-05 17:12:19 +01:00
Arnout Engelen
53d8d7b91d
Document experimental Scala 3 support (#30849)
Perhaps we should add a page to the docs summarizing the status
of Scala 3 support, so we can point people to that rather than directly
at the GitHub issues?
2021-11-05 13:05:09 +01:00
Patrik Nordwall
c0615eab45
Create unique media driver dir for Aeron stream tests, #30845 (#30862) 2021-11-05 13:04:10 +01:00
Patrik Nordwall
8adda9e1be
Mark flaky BalancingSpec as pending, #30860 (#30861) 2021-11-05 11:05:15 +01:00
Arnout Engelen
7ef5dd51db
Return revision in PersistenceTestKitDurableStateStore getObject (#30858) 2021-11-05 08:58:58 +01:00
Peter Vlugter
a518a96c6a
Add entity passivation strategies (#30852)
* New internal API for pluggable strategies
* New least recently used passivation strategy
2021-11-04 09:10:04 +01:00
Francis De Brabandere
0b52d58120
Document slf4j log switch for akka classic when typed on classpath (#30856)
fixes #30848
2021-11-04 08:58:09 +01:00
Patrik Nordwall
a39dbfc088
aeron.dir also for normal multi-node tests, #30601 (#30839) 2021-11-01 16:23:27 +01:00
Raymond Roestenburg
0d18262633
fix(persistence-testkit): added fallback to snapshotplugin config. (#30837) 2021-11-01 10:28:11 +01:00
Johan Andrén
eb197cae7f
fix a few deprecation warnings when starting up sbt (#30829) 2021-11-01 08:53:32 +01:00
Patrik Nordwall
527571fc3a
Aeron media driver volume for multi-node CI, #30601 (#30835) 2021-10-29 14:19:17 +02:00
Levi Ramsey
1adc1a9250
Clarify docs around cluster shutdown (#30825)
* Clarify docs around cluster shutdown

Previous docs could give the impression that changing the number of cluster nodes required a full shutdown.  This clarifies that the shutdown is only needed if changing the number of shards and that adjusting the number of shards is not required for changing the number of nodes.
2021-10-28 08:44:21 +02:00
Johan Andrén
d11a15c50f
Skip mima check for Scala 3 for now (#30830) 2021-10-27 21:19:41 +02:00
Patrik Nordwall
ffd7ee7b7d
Link to mTLS with rotating certs blog post (#30828) 2021-10-27 17:16:15 +02:00
Muskan Gupta
6f30c6fc08
Improve doc language (#30786) 2021-10-27 14:47:21 +02:00
Sebastian Alfers
659eb40146
Allow initial state to be null while using EventSourcedBehaviorTestKit (#30823)
* Allow initial state to be null while using EventSourcedBehaviorTestKit
2021-10-26 16:41:18 +02:00
Muskan Gupta
4d14c6f977
Remove fixme part about guards and pattern matching from StyleGuide (#30787) 2021-10-25 18:00:41 +02:00
James Roper
33052e3abc
Added durable state current persistence ids query (#30811) 2021-10-25 17:42:21 +02:00
Stefano Baghino
619b5691fc
Make StreamConverters.asOutputStream ignore empty arrays (#30818) 2021-10-25 17:40:10 +02:00
Patrik Nordwall
496d721e2a
Harden BalancingSpec, #30821 (#30822) 2021-10-25 17:38:22 +02:00
kenji yoshida
bf0ef69d70
use Scala 3.1.1-RC1 instead of NIGHTLY version (#30817) 2021-10-25 09:21:27 +02:00
James Roper
a581e86deb
Fixed testkit durable state store current changes non completion (#30819)
PersistenceTestKitDurableStateStore.currentChanges was correctly only
returning the current changes, however it was not completing until an
addition change was made. This fixes that.
2021-10-25 09:18:53 +02:00