Commit graph

26130 commits

Author SHA1 Message Date
Patrik Nordwall
da564dc7ce
Remove optional traits in EventsBySliceQuery (#30953)
* EventTimestampQuery and LoadEventQuery are optional, and it was an
  oversight to add them to EventsBySliceQuery
* javadsl is ok
2021-12-01 14:34:30 +01:00
Patrik Nordwall
b336371013
Retry ActorSelection resolve in LargeMessagesStreamSpec, #24143 (#30954)
* failed with ActorNotFound in aeron-udp multi-node tests
2021-12-01 10:39:33 +01:00
Johan Andrén
37057f430e
A few tutorial improvements from (#30949) 2021-11-30 14:25:27 +01:00
Johan Andrén
e5f05e1d28
info instead of debug log when JVM triggers coordinated shutdown (#30944) 2021-11-30 14:24:54 +01:00
Andrei Arlou
9ea4b9b0fa
Use apidoc directive in typed/actor-lifecycle.md (#22904) (#30945) 2021-11-30 14:08:46 +01:00
Johan Andrén
90003a6239
warnings instead of errors for artery failures during shutdown (#30943)
Log warnings instead of errors for artery failures during shutdown or that will be retried
2021-11-30 09:55:42 +13:00
Nicolas Vollmar
8db5daa064
Waits with sending complete message until last message has been acknowledged #21015 (#30938) 2021-11-29 09:00:54 +01:00
Patrik Nordwall
2909d4cce5
Use GhExcludeTest in CI again (#30941)
* -XX:+AlwaysActAsServerClassMachine in CI
* Remove GHExcludeTest from all tests, since we have included those in CI workflows
* Exclude a few failing tests from CI
* run CI with -Dakka.test.tags.exclude=gh-exclude again
2021-11-28 19:52:16 +01:00
Patrik Nordwall
cef765a298
Hardening of JoinConfigCompatCheckerRollingUpdateSpec, #30769 (#30936)
* fails frequently in the aeron-udp multi-node tests
* could be that it requires more resources since it's starting
  many actor systems in same jvm
* noticed heartbeat send delay in logs, but not unreachable
* adjusting config to what we have in some other tests
2021-11-25 11:21:43 +01:00
mbairagi85
1e5a9da39c
Update ambiguous comment with maximum-large-frame-size (#30907) 2021-11-25 11:21:11 +01:00
Paweł Kaczor
16943a12c6
Improve unstash / unstashAll scaladoc (#30815) 2021-11-24 17:02:02 +01:00
Patrik Nordwall
3a2c1a688d
Hardening of ReplicatedEventSourcingSpec, #30842 (#30937)
* from logs it looks like the replicated event from the first
  incarnation of the actor isn't stored before the second
  incarnation is replayed
* stop and wait for termination before starting second incarnation
2021-11-24 13:53:29 +01:00
Peter Vlugter
5e523053e3
Support idle entity timeouts in limit-based passivation strategies (#30933) 2021-11-23 13:45:41 +01:00
Arnout Engelen
789a01c53e
scala3/docs: remove umbrella ticket reference (#30912)
I think we're now at a point where we can work with
separate issues for particular problems.
2021-11-19 18:00:08 +01:00
Johan Andrén
efda4a57df
Update incorrect reactive streams spec rule number #30908 (#30909) 2021-11-19 14:39:02 +01:00
Arnout Engelen
02f0679e84
scala3: build/test akka-persistence-tck and akka-persistence-typed-tests (#30911) 2021-11-19 13:48:25 +01:00
Arnout Engelen
65df618bd2
scala3: test akka-stream-typed (#30910)
Refs #30243
2021-11-19 11:39:53 +01:00
Arnout Engelen
9b174a31a6
scala3: remove runtime trait ordering check (#30904) 2021-11-18 14:44:43 +01:00
Andrei Arlou
a8c67fc2e6
Use apidoc directive in common/binary-compatibility-rules.md (#22904) (#30899) 2021-11-18 12:15:08 +01:00
Arnout Engelen
bcc9c66237
Remove ls.implicit.ly metadata (#30902) 2021-11-18 12:14:27 +01:00
Peter Vlugter
a2b7527c64
Add least frequently used entity passivation strategy (#30898) 2021-11-18 12:09:05 +01:00
Francisco Lopez-Sancho
3db7cf9ba5
fix: JavaSerializationException on akka.persistence.journal.Tagged with inmem (#30900)
JavaSerializationException on akka.persistence.journal.Tagged
for test with `akka.persistence.journal.inmem` plugin
2021-11-18 09:23:23 +01:00
Arnout Engelen
7e059fadb9
Scala 3: enable akka-cluster tests (#30890)
Closes #30689

Looks like it has been fixed with https://github.com/akka/akka/pull/30886
2021-11-17 12:13:58 +01:00
Peter Vlugter
c173f8ded9
Add most recently used entity passivation strategy (#30897) 2021-11-17 21:54:02 +13:00
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