Commit graph

23245 commits

Author SHA1 Message Date
Johan Andrén
777173f988
contribution guidelines about wire compatibility (#26619) 2019-03-28 11:54:39 +01:00
Patrik Nordwall
7d58a1a2b5
Merge pull request #26421 from akka/wip-26284-removals-ClusterReceptionist-patriknw
Avoid false removals in ClusterReceptionist, #26284
2019-03-28 10:08:57 +01:00
Patrik Nordwall
02e68abae2
Merge pull request #26577 from akka/wip-24687-more-persistence-tests6-patriknw
add more tests for receiving PoisonPill in various states, #24687
2019-03-28 10:07:32 +01:00
Helena Edelson
ef896f533e
Minor ClusterSharding scaladoc suggestions. (#26623) 2019-03-27 14:47:25 -07:00
Johan Andrén
78df394039 Typed perf improvements, #25986
* Table switch for interpreter ~20% faster

* Avoid instanceof on message in interpreter (but keep single method)
~10% faster

* Use the behavior tags all over ~4% improvement

* Make next a single tableswitch

* Behavior.wrap isn't actually used anymore

* Sidestep the untyped behavior stack
2019-03-27 16:45:20 +01:00
Patrik Nordwall
7b763c815e
Merge pull request #26621 from akka/noGenJavadocForScaladoc
Disable genjavadoc during scaladoc compilation #26617
2019-03-27 16:34:44 +01:00
Patrik Nordwall
825d90bf63 Avoid false removals in ClusterReceptionist, #26284
* The scenario was (probably) that a node was restarted with
  same host:port and then didn't join the same cluster. The DData
  Replicator in the original cluster would continue sending messages
  to the new incarnation resulting in false removals.
* The fix is that DData Replicator includes the system uid of the sending
  or target system in messages and if recipient gets a message that is from/to
  unknown it will discard it and thereby not spreading information across
  different clusters.
* Reproduced in ClusterReceptionistSpec
* Much hardening of other things in ClusterReceptionistSpec
* There are also some improvements to ClusterReceptionist to not leak
  Listing with refs of removed nodes.
* use ClusterShuttingDown
* The reason for using sender system uid instead of target uid in messages
  like Read and Write is that then the optimization for sending same message
  to many destinations can remain.
2019-03-27 16:32:19 +01:00
Patrik Nordwall
3cbda93496
add EventSourcedBehaviorRecoveryTimeoutSpec, #24687 (#26525)
* include cause message in log error message for recovery failures
2019-03-27 16:23:01 +01:00
Patrik Nordwall
e6775d7225 add more tests for receiving PoisonPill in various states, #24687 2019-03-27 16:21:57 +01:00
Patrik Nordwall
21f765fb86 test PoisonPill and stash of EventSourcedBehavior, #24687
also filter logging in EventSourcedBehaviorStashSpec
2019-03-27 14:59:44 +01:00
Nicolas Vollmar
c9b3f1de6d GrapheStage implementation for actorRef source (#25324) (#26054)
* Adds internal access to materializer before initialization (#25324)

* Implements new actorRef source based on graph stage  (#25324)

* Removes obsolete actorRef source (#25324)

* Improves backwards compatibility with old implementation (#25324)

* Removes dedicated new subclass for materializer access again  (#25324)

* Improves implementation (#25324)

* Finalizes implementation (#25324)

* Small improvements to API and documentation (#25324)

* Completion strategy as a replacement for poison pill (#25324)

* Adding more tests and updating the documentation (#25324)
2019-03-27 14:16:38 +01:00
Arnout Engelen
e65f403a43
Disable genjavadoc during scaladoc compilation #26617 2019-03-27 13:48:40 +01:00
Johan Andrén
39c06c7c34
FanoutPublisherSink leaking actors on upstream failure #25634 2019-03-27 12:51:34 +01:00
Arnout Engelen
fa2a89310c
Enable strict scalac options for akka-protobuf (#26582)
* Enable strict scalac options for akka-protobuf

Unfortunately it still produces a Java warning, but I see no safe way around
that (so we can't just add `-Werror` to javacOptions)

* Remove 'dead' code, bringing the class back in line with upstream
2019-03-27 10:26:35 +01:00
Patrik Nordwall
076b16485b fix typed ActorSystemSpec #26614 2019-03-27 08:30:42 +01:00
Patrik Nordwall
38930aa318
Merge pull request #26615 from akka/wip-JUnitSuite-patriknw
fix compilation error in LoggerSourceTest.java
2019-03-26 16:29:05 +01:00
Arnout Engelen
72e0e67c3c
Remove 'dead' code, bringing the class back in line with upstream 2019-03-26 16:19:30 +01:00
Arnout Engelen
9c52e57204
Enable strict scalac options for akka-protobuf
Unfortunately it still produces a Java warning, but I see no safe way around
that (so we can't just add `-Werror` to javacOptions)
2019-03-26 16:19:26 +01:00
Patrik Nordwall
47138bcffd fix compilation error in LoggerSourceTest.java
* slipped in via merge that was tested before the scalatest version update
2019-03-26 15:26:44 +01:00
Patrik Nordwall
646e68416d
Merge pull request #26568 from akka/updateScalaTest
Update scalatest to 3.0.7
2019-03-26 15:09:23 +01:00
Johan Andrén
bc4523941c Typed unstash improvements (#26599)
* Handle unhandled while unstashing #26362

* Handle stop while unstashing

* unstashing with initial Behaviors.same to refer to current actor behavior

* Unstash into deadletter when stopping during unstash

* More unhandled test coverage

* Avoid expecting ActorContextAdapter for internals

currentBehavior and onUnhandled moved to scaladsl.ActorContext as internal methods
allowing support for touching them also in the behavior testkit

* Scaladoc fixes

* Some more periods
2019-03-26 15:06:02 +01:00
Johan Andrén
9ef11c9bfc Try harder to get a good log source class in EventSourcedBehavior (#26567) 2019-03-26 14:58:06 +01:00
Ignasi Marimon-Clos
c097e8144a Extends collection of shutdown Reasons (e.g. ClusterJoinUnsuccessfulReason) (#26570)
* Adds JoiningSeedNodesUnsuccessfulReason

* Promotes IncompatibleConfigurationDetectedReason to public API

* Rename class after PR comments

* Use a custom exit code on joinUnsuccesful shuhtdown

* Mima

* Scalafmt
2019-03-26 14:52:50 +01:00
Arnout Engelen
d390fcf183 Introduce warning silencer plugin (#26588)
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions

* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021
2019-03-26 14:41:29 +01:00
Patrik Nordwall
140e5e0faa
Merge pull request #26613 from ennru/paradox-template
Docs: latest Akka Paradox template
2019-03-26 14:33:44 +01:00
Enno Runne
c755177396 Docs: latest Akka Paradox template 2019-03-26 12:09:23 +01:00
Johan Andrén
6d719e9cf7
Typed guardian startup and actor adapter simplification (#26590) 2019-03-26 08:09:58 +01:00
Helena Edelson
43bd0dc4e5
Add DeleteEventsCompleted in signal handler for logging consistency #26606 2019-03-25 12:19:53 -07:00
Helena Edelson
6a46185f87
Typed Persistence: docs / sample for deleting snapshots and events (#26603)
#26543
2019-03-25 10:26:24 -07:00
Adriaan Groenenboom
1fe5505f84 Accept TTL values of 0 in CachePolicy #26427
As per RFC spec https://www.ietf.org/rfc/rfc1035.txt (Section 3.2.1)
2019-03-25 17:28:10 +01:00
Johan Andrén
4f7b78feb0 Make typed persistence side effect internal (#26520)
* Make akka-persistence-typed SideEffect internal #26044

* Minimal docs update

* More private. Formatting.

* More public usages of SideEffect

Also: made scaladsl.Effect a pure trait for consistency

* Review feedback
2019-03-25 15:40:04 +00:00
Patrik Nordwall
482aa29a41
Merge pull request #26605 from akka/wip-26601-snap-race-patriknw
fix race condition in Running.storingSnapshot, #26601
2019-03-25 14:38:13 +01:00
Patrik Nordwall
7e24f5dfb5
Merge pull request #26585 from akka/wip-26581-SnapshotterResponse-patriknw
remove ??? in SnapshotMutableStateSpec, #26581
2019-03-25 13:42:09 +01:00
Patrik Nordwall
aff69033d5
Merge pull request #26538 from akka/wip-24687-more-persistence-tests5-patriknw
add tests for missing journal and snapshot plugin config, #24687
2019-03-25 13:41:22 +01:00
Patrik Nordwall
395b55ffec
Merge pull request #26578 from akka/wip-24687-more-persistence-tests7-patriknw
test when event handler throws during replay, #24687
2019-03-25 12:10:46 +01:00
Patrik Nordwall
0807130f74 remove ??? in SnapshotMutableStateSpec, #26581
* ??? is probably fatal error and therefore the Boxed Error
* this test should attempt to delete snasphots, but that is another issue
2019-03-25 12:09:23 +01:00
Patrik Nordwall
1a463ab248
Merge pull request #26583 from akka/wip-26580-npe-snapshotstore-patriknw
fix NPE in SnapshotStore, #26580
2019-03-25 12:01:57 +01:00
Patrik Nordwall
9d74ad11e4 add tests for missing journal and snapshot plugin config, #24687
* extract validation of persistence plugin config
  * The reason for the duplicate check in EventSourcedSettings
    is for better user experience. Fail fast before the actor is
    started.
  * The checks must still also be done when plugin is loaded, since
    that is what is used by untyped.
  * Extracted into static utility methods in Persistence
2019-03-25 11:59:19 +01:00
Johan Andrén
1a90f22fb4 Fix of the new javadoc search functionality (#26604)
Search target for classes would contain a module path part which
was undefined. Disabled with --no-module-directories
2019-03-25 11:15:07 +01:00
Patrik Nordwall
af2ac0aac8 fix race condition in Running.storingSnapshot, #26601
* When storing a snapshot, and waiting for the response, it received a
  response from a previous/concurrent delete snapshot (DeleteSnapshotSuccess)
  which it handled as a response for the save snapshot, i.e. tryUnstashOne, applySideEffects,
  and changing phase to HandlingCommands. Thereby missing the SaveSnapshotSuccess.
2019-03-25 10:21:38 +01:00
Patrik Nordwall
03897dd6e0 Replace SnapshotSelectionCriteria and SnapshotMetadata, #26536 (#26596)
* This may look like a duplicating the existing classes from untyped
  persistence without any value, but those two classes were there only
  two from untyped that were exposed in end user APIs.
* This makes the API independent of untyped.
* Those classes can be evolved (much) easier since they are not case classes.
2019-03-22 16:04:14 -07:00
Patrik Nordwall
2c1d721fb7
Merge pull request #26595 from akka/wip-26584-snap-delete-patriknw
Typed Persistence: fix snapshot deletion algorithm, #26584
2019-03-22 15:10:28 +01:00
Patrik Nordwall
1f17fa192a fix snapshot deletion algorithm, #26584
* Subtraction of sequenceNr (keepNSnapshots * snapshotEveryNEvents) was missing when
  calling internalDeleteSnapshots directly from SaveSnapshotSuccess, i.e. when not
  triggered via delete events.
* Improved the test
* Also found that the responses for deletion of events and snapshots were not
  handled in all 3 running phases. Since they are performed in the background
  they may be received in all.
2019-03-22 11:22:36 +01:00
Helena Edelson
48b0865141 Test update on params per issue suggestion, and a few minor untyped test deprecation/warning fixes. 2019-03-21 14:01:35 -07:00
Ignasi Marimon-Clos
aadaa46853 Small typos (#26575)
* Small typos

* Update akka-docs/src/main/paradox/discovery/index.md

Co-Authored-By: ignasi35 <ignasi@lightbend.com>
2019-03-20 15:40:29 +01:00
Patrik Nordwall
b76891adcc
Merge pull request #26576 from TimMoore/patch-1
Update Akka Management version to 1.0.0
2019-03-20 15:38:45 +01:00
Patrik Nordwall
ed65752bb5 test when event handler throws during replay, #24687
* and not accept wrong event before persisting it
* cleanup EventSourcedBehaviorFailureSpec
2019-03-20 15:03:01 +01:00
Patrik Nordwall
9165cb6c6b
Merge pull request #26539 from akka/wip-24687-more-persistence-tests4-patriknw
add EventSourcedBehaviorTimersSpec, #24687
2019-03-20 14:58:22 +01:00
Johan Andrén
322b07a2fd
Typed version of the ForkJoinActorBenchmark #25986 2019-03-20 14:52:00 +01:00
Patrik Nordwall
f8be7ddb6f
Merge pull request #26521 from akka/wip-24687-more-persistence-tests-patriknw
a few more persistence tests from PersistentActorSpec, #24687
2019-03-20 14:40:21 +01:00