Sorry, I should mention the Activator example to which I am referring is 
this one:

https://github.com/typesafehub/activator-akka-stream-scala/blob/21ac90bead7917bfb0ebb0a0858e5ec60dce966c/src/main/scala/sample/stream/GroupLogFile.scala

On Tuesday, December 23, 2014 12:24:21 PM UTC-7, Tim Harper wrote:
>
> In the Activate example for groupBy, we see this:
>
> Source(() => logFile.getLines()). // group them by log level groupBy { 
> case LoglevelPattern(level) => level case other => "OTHER" }. // write 
> lines of each group to a separate file foreach { case (level, groupFlow) 
> => val output = new PrintWriter(new FileOutputStream(s"
> target/log-$level.txt"), true) // close resource when the group stream is 
> completed // foreach returns a future that we can key the close() off of 
> groupFlow.foreach(line => output.println(line)).onComplete(_ => Try
> (output.close())) }. onComplete { _ => Try(logFile.close()) 
> system.shutdown() }
> I have been following this pattern, but am finding that the Future 
> returned by the foreach on the groupBy completes BEFORE the groupFlows are 
> finished processing. In effect, this leaves several messages yet to be 
> processed. I've observed this issue in akka-stream-experimental M1 and M2.
>
> I have created the following gist which demonstrates the problem:
>
> https://gist.github.com/timcharper/9824eee567f24b4205f3
>
> Is the Activator example a bad example of how to use streams? Or is akka 
> streams misbehaving? (is it impossible for a group stream to know that it's 
> groupFlows are completed)?
>
> Thanks,
>
> Tim
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to