* Remove ApiMayChange from typed testkit
* Don't disable mima plugin to highlight times we break bin cmompat
Refs #26897
* Add api may change to test inbox and behavior test kit
* kept part of OrElseSpec to illustrate composition with
functions or partial functions
* added an experiment with and interceptor that
delegates to behaviors
* Always be explicit about what message types an interceptor can handle, to avoid
ClassCastException if another message type is passing. That may happen when
the inner behavior understands other messages than it says in it's declared
behavior type by using narrow. EventSourcedBehaviorImpl is an example.
* Minimized failing tests
* Supervision interceptor is of type Any since failures of all messages must be
handled
* Changed PoisonPillInterceptor to only intercept signals
* rename type params to Outer and Inner
* separate BehaviorSignalInterceptor
* which only intercepts signals and messages bypass, e.g. PoisonPillInterceptor
* also made aroundSignal optional to override in BehaviorInterceptor
* Add test for interceptors combined with EventSourcedBehavior
* ClassTag not needed for LogMessagesInterceptor
* since it can handle Any
* test supervision of different message type
* clarify low level
* docs for interceptMessageClass param and ClassTag
* remove O type parameter in supervision
* remove extra setup for RestartSupervisor, already factory
* mention in migration guide
* Re-write InputStreamPublisher as a GraphStage
* Deprecate IOResult.failure and introduce IOOperationIncompleteException
After some dicussion with @johanandren, @raboof and @2m about the
confusion of the materialised value of the IO streams to complete
even if there is an exception (with the exception in the IOResult)
this now changes it to:
* Deprecate failure in IOResult so it is always set to Success(Done)
* Stop using AbrubtIOTerminationException as the inner IOResult also
contains an exception causing confusion
* readers tend to try what is at the top of the page
and given the limitations of BehaviorTestKit we
should show the full featured asyncronous TestKit first
* mention test framework integration earlier
* better example in the test framework section
* Reduce boilerplate for interaction with Typed Replicator #27116
* By introducing a message adapter "helper" that is specific the Replicator
* Specific methods for askUpdate, askGet and askDelete, subscribe, unsubscribe
* add thread safetey warnings
* DistributedData.withReplicatorMessageAdapter for creating the ReplicatorMessageAdapter
* Send a `start` message to the first actor
Otherwise, only the actor system is started, but none of the actors.
* Send a `start` message to the first actor
Otherwise, only the actor system is started, but none of the actors.
According to this: https://stackoverflow.com/a/56154292/3715185, adding an id to the execution configuration can help to keep Maven from generating erroneous tags in the effective pom, such as adding a `<resource>` tag to the `ManifestResourceTransformer`.
* IntiJoin message changed from companion message to case class with config
parameter when the join compat check was added. Some `case InitJoin =>` were
not changed.
* Resulting in unhandled InitJoin and no InitJoinNack replies.
We've released 2.5.23 for 2.13 with 0.4.0 but this changes the default
behavior. This reverts that so the first release we are binary compat
for 2.13 will be 2.5.24.
For 2.6 we can still perhaps upgrade
to 0.4.0 and document or override the new behavior.
Refs #27142
For cases where rebalance takes a long time due to a relatively large cluster change
e.g. when doubling number of nodes (common for 1-2, 3-6 etc) there is
little insignt into what is happening unless DEBUG logging is enabled.
This adds an INFO log per rebalance-interval (default is 10s) to show
what is in progress and which new shards are starting rebalancing.
* Allow specifying a log level when logging exceptions being seen the SupervisorStrategy. #27133
* Add tests which verify Supervisor logging behaviour for provided log level