* Bugfix for delay stage with EmitEarly #28269
Emit early would make it pull eagerly even if out was not available,
when element arrived and buffer was full and out not available that
element would be left in the input port and never end up in the buffer.
* Additional cleanup of the Delay stage
* some cluster logging improvements
* most logger names are actually good, when using ActorLogging since
config can be setup on the package (prefix)
* override logSource when StageLogging is used
* replace system.log with more specific logger
* Add doc clarification about IOResult on sources
* Better error message for IOOperationIncompleteException
Co-Authored-By: Johannes Rudolph <johannes.rudolph@gmail.com>
* Replace MaterializerSettings with Attributes #25559
* Field access to settings deprecated to make stages use attributes instead
* Internal stages updated to use attributes
* Docs on ActorMaterializerSettings updated to recommend away from using it
* Verify all stages stopped after each testcase in FlowGroupBySpec
* Subscription timeout attributes merged into one
The idea is that `.recover { xyz => throw newException }` is common enough
not to log an ERROR message just because we didn't catch it in the Recover stage.
On the other hand, using `mapError` can be a better choice if you just want to
map the error (but there might be other occurrences where a partial function is not
enough to avoid throwing an error from recover).
* base functionality
* fix-restart-flow
* Fix subSource / subSink cancellation handling
* GraphStage-fix
* Fix ambiguity between complete and cancellation (for isAvailable / grab)
* rename lastCancellationCause
* add mima
* fix cancellation cause propagation in OutputBoundary
* Fix cancellation cause propagation in SubSink
* Add cancellation cause logging to Flow.log
* add more comments about GraphStage portState internals
* Add some assertions in onDownstreamFinish to prevent wrong usage
* Also deprecate onDownstreamFinish() so that no one calls the wrong one
accidentally
* add SubSinkInlet.cancel(cause)
* Propagate causes in two other places
* Suggest to use `cancel(in, cause)` but don't deprecate old one
* previous `schedule` method is trying to maintain a fixed average frequency
over time, but that can result in undesired bursts of scheduled tasks after a long
GC or if the JVM process has been suspended, same with all other periodic
scheduled message sending via various Timer APIs
* most of the time "fixed delay" is more desirable
* we can't just change because it's too big behavioral change and some might
depend on previous behavior
* deprecate the old `schedule` and introduce new `scheduleWithFixedDelay`
and `scheduleAtFixedRate`, when fixing the deprecation warning users should
make a concious decision of which behavior to use (scheduleWithFixedDelay in
most cases)
* Streams
* SchedulerSpec
* test both fixed delay and fixed rate
* TimerSpec
* FSM and PersistentFSM
* mima
* runnable as second parameter list, also in typed.Scheduler
* IllegalStateException vs SchedulerException
* deprecated annotations
* api and reference docs, all places
* migration guide
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
then it's complicated to avoid that when snippets are
located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
* it was noticed in Source.fromIterator depending on where the
iterator throwed exception
* fromIterator, as many other things, is implemented with
statefulMapConcat
* supervision was only used for exceptions in onPush and not
in onPull, added it there also
progressed with cleanup, removing the same thread exec context is
weird... causes issues :-/ Need to debug more, could be that some race
also exists in mapAsync then :\
WIP
finish ask impl via watch stage
mima
consistency spec
fix paradox, and fix adding ask/watch to javadsl source
follow up review
Instead of renaming - deprecating and documenting
Renaming defaultInitialAttributes to defaultAttributes and adding docs
Tests passing
More work on using attributes for the attribute settings in ActorMaterializerSettings
Mark some attributes as mandatory and provide a smoother access w/o allocation for those
Another warning notice
MiMa filters
Part of the review adressed
Incorrect rebase fixed + formatting
Review feedback adressed
Formatting ...
* =str #22880 fix mapAsync racy failure handling
* =str #22881 test also resume case for throwing mid-stream mapAsync
* address review feedback, the handle calls must be exactly like that
* added a failing test to demonstrate a bug in groupedWeightedWithin with zero cost function
* fixed the bug by adding a flag indicating if there are elements in buffer, and using it instead of totalWeight in case onTimer is called
* #22506 Mark materializer extension as @InternalApi
* #22506 Added missing annotations on internal apis in the fusing package
* #22506 Missing annotations in io package
* #22506 Add internal api annotations in impl package
* #22563 more hiding of the classes in the impl package
* #22563 Formatting fixes
* #22506 Fix private access in stream tcl tests