You're using runFold() to just do string concatenation over and over again? That's very inefficient, at best; at worst, depending on the size of the "big" message, you might be hitting memory pressure that is causing things to crash. (Or at least, causing a massive amount of garbage collection that is slowing everything to a crawl.) You're building strings and throwing them away, over and over and over again.
Keep in mind, part of the point of streaming is to *avoid* having to have the entire message in memory at any given time. If I'm reading this right, you're not only building the entire message in memory, you're doing it in a really inefficient way. I would *guess* that it's spending so much time in garbage collection that it's not getting to the point of finishing in those five seconds... On Sun, Jul 16, 2017 at 4:13 PM, ivan morozov <[email protected]> wrote: > Hi. I can't manage to fold a big message that is coming over websockets. > The future just never complete. Reproduce: > > val flow: Flow[Message, Message, NotUsed] = > Flow.fromSinkAndSource( > Sink.foreach { > case TextMessage.Streamed(stream) => > val f = stream.limit(100) > .completionTimeout(5000.millis) > .runFold("")(_ + _) > println(Await.result(f,5.second)) > } > , > Source.empty) > > > Http().singleWebSocketRequest( > WebSocketRequest("wss://api.sandbox.gemini.com/v1/marketdata/ethbtc" > ), > flow) > > Any ideas why? > > -- > >>>>>>>>>> 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 https://groups.google.com/group/akka-user. > For more options, visit https://groups.google.com/d/optout. > -- >>>>>>>>>> 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 https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
