mfglabs / akka-stream-extensions Goto Github PK
View Code? Open in Web Editor NEWExtensions for Akka Stream
License: Apache License 2.0
Extensions for Akka Stream
License: Apache License 2.0
Could you please push builds for Scala 2.13 (-M5) to Central Maven Repo ?
The readme mentions version 0.10.0, but this does not appear to be published on bintray.
As far as I can tell, there's no difference between Akka's Sink.seq
and this library's SinkExt.collect
. It probably makes sense to deprecate the latter.
It's also worth examining whether the unfolding source methods make sense w/r/t the existence of Source.unfold
and Source.unfoldAsync
I ran into an edge case when using the shapeless extensions with Flow.flatMapConcat and one of the flows in the coproductFlow had a broadcast and merge in it.
It seems the CoproductFlexiMerge does not handle the case where a sub flow might push more than one value to it's inlets well. In this setup I think it incorrectly sets itself as being complete after pulling a single value from the inlet and never processes the second output of my internal broadcast/merge graph. In a flow without flatMapConcat this wasn't a problem because the graph just kept running until all data was processed but flatMapConcat seems to shutdown the subgraph as soon as it receives the upStreamComplete message and data can be lost. Sorry I can't give a better explanation as to what's causing the problem. The internals of akka-streams are a mystery to me.
Here's a representation of the graph that caused the problem
Source(foreverData) -> flatMapConcat(data)
Source.single(data) -> coproductFlow
-> normal flow ->
/-> flow ->\
-> broadcast merge -> (this output will now have two values)
\-> flow ->/
There is a very active project to build akka-stream components.
alpakka
maybe you can consider merging your amazing components ?
The stream extension for elasticsearch is ignoring the results of the initial query to open the scroll. Therefore the unit test to compare the results always fails. I have a solution.
I realize it's not bug of your library per se (probably). But maybe you guys know why custom Supervision.Decider doesn't catch exception produced by GenericBulkPullerAsync ?
Details are here: http://stackoverflow.com/questions/32290285/custom-supervision-decider-doesnt-catch-exception-produced-by-actorpublisher
This brake back pressure for all Source
using ActorPublisher
(Ex: MfgLabs/commons-aws#25).
For now always set ActorMaterializerSettings(as).withInputBuffer(1, 1)
.
ActorPublisher
is deprecated in akka-stream % 2.5
, migrating from it will remove the issue.
This library depends on elements removed in Akka 2.5, which means we cannot upgrade to Akka 2.5 while using commons-aws (which depends on this library).
This change #26 updated the tut-plugin to 0.5.0 for cross-compilations.
But there is a bug in that version that introduces tut-core as a dependency on akka-stream-extensions: https://github.com/tpolecat/tut/blob/master/CHANGELOG.md
We should update this dependency and publish a new version.
Lightbend has recently promoted a repository for akka-streams contributions. Some of your extensions seem particularly suitable for ending up in this project. I personally use some of the extensions in this project and so far I'm happy with them. However, some work needs to be done in order to update them to the recent Akka 2.4.4 version, and posibly to deprecate some artifacts as the standard library has been improved lately.
So, please, do you have any plans to contribute to this new contrib repo?. If not, do you have any objections to let me contribute adapting the code conveniently?.
Thanks in advance and keep up the good work.
Any hint would be fantastic to see how PgStream#insertStreamToTable can be used as sink from a Java perspective?
Thanks, Niko
This lib is a must ๐, and therefore should be cross-compiled and published with Scala 2.12.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.