Allows the cluster client and its receptionist to be observable in terms of contact points becoming available and client heartbeats. Furthermore a query API for requesting the current state has been provided.
* minor fixes
* remove now superfluous buffer from MultipartUnmarshaller
* remove unused TokenSourceActor
* remove FIXME: add tests, see #16437
* removed unused param remoteAddress (comment: TODO: remove after #16168 is cleared)
* convert FIXME to TODO (#18709)
* reenable tests in {Request|Response}RendererSpec due to fixed#15981
* remove logging workaround in StreamTestDefaultMailbox due to fixed#15947
* Expire defaults when HTTP-date is not possible to parse (#20362) and 'If-Modified-Since' is more strict (excluding 0 - rfc 7232 3.3).
* Fixed reversed missing method MiMa problem (#20131) and 'expires' instead of 'expire' wording.
* HTTP-date should match '0' as DateTime.MinValue after all.
* Rewrite the pool gateway synchronization
Rewrite the pool gateway synchronization so that:
- The documented race condition in PoolInterfaceActor is gone. No
PoolInterfaceActor will receive new requests after the gateway
shutdown has been initiated (fix#20081).
- A gateway created using newHostConnectionPool will no longer
share its pool with others even when it has been shutdown
due to idle-timeout and recreated. Also, its original
materializer will be used to create all the successive
pools incarnations (fix#20080).
- Collapsing chains of gateways do no longer need to be created.
The gateways are now only an entrypoint to the pool master
actor, and this actor is in charge of keeping a cache of
currently active pools and recreate them from the information
given by the gateway when needed.
* Add copyright header
* Mark PoolMasterActor as INTERNAL API
* Larger outer timeout
* Define Props in PoolMasterActor object
* Comment INTERNAL API
* Remove unused import
Previously a failure during e.g. MailboxType.create() would make the
user guardian fail, tearing down the whole system as a result. The cause
is a deep bug in handling ActorCell creation that we cannot really fix
anymore due to resulting changes in semantics, hence this fix only
targets top-level actors (where the observable difference is an
unambiguous improvement).
fixes#15947
This entails:
* adding akka.pattern.PatternCS.* to enable ask etc. with
CompletionStage
* changing RequestContext to offer an ExecutionContextExecutor for the
CompletionStage.*Async combinators
* splitting up akka.stream.Queue for JavaDSL consistency
This new light-weight ActorRef supports running a non-blocking
side-effect upon message send, which is used to dispatch an async
callback to a GraphStageLogic, or it can be used to make the Akka Typed
adapters more efficient. The FunctionRef is registered with its parent,
and it is not user-level API (hence only accessible by downcasting the
ActorContext).
Publish appropriate events to the current ActorSystem event stream upon remote ActorSystem shutdown or when current ActorSystem is quarantined by the remote ActorSystem.