On Mon, May 18, 2015 at 12:28 PM, Jan Liße <jan.li...@gmail.com> wrote:

> Hello,
>
> i'm currently building a scraper system on top of Akka Streams. I have
> written a Flow that is able to follow paginated sites and scrape them in a
> loop.
> For this i use a feedback merge.
>
> My code: <https://gist.github.com/janlisse/f2672bf8bbee009ef009>
>
> <script src="https://gist.github.com/janlisse/f2672bf8bbee009ef009.js
> "></script>
>
> scrapePaginated takes a function that decides if there are further pages
> to scrape. If there are, it returns as part of the response tuple a Some()
> with the next url.
> And of course a None for the last page.
> The iteration and the feedback loop works and all pages are scraped
> properly. But even when all URL's are processed the stream never completes.
> OnComplete never gets invoked.
> Is this an expected behaviour? Or is there an error in my scrapePaginated
> method? I read the doc's chapter on graph deadlocks and liveness issues and
> finally added a buffer step with OverflowStrategy.Fail to the feedback loop
> but to no avail.
> If it helps to clarify the problem i can provide a simple Spec that
> reproduces the issue.
>

I might be wrong here, but it seems like:

 - merge does not stop, because the feedback loop does not stop
 - the feedback loop does not stop, because unzip does not stop
 - unzip does not stop, because merge does not stop.

If I am correct, then this is an interesting twist on the deadlock
scenarios. This does not deadlock on elements/backpressure but it deadlocks
on completion signal.

Please open a ticket for discussion, I am not sure how to solve this in a
generic fashion, but the collection of deadlock scenarios is growing and we
need to provide an answer eventually and I want this one documented in a
ticket, too.

-Endre


>
> Thanks in advance for any help!
>
> Jan
>
>
>  --
> >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at http://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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
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