Hi Endre and Victor,
Thanks for getting back to me. I did understand that something was not
consumed, however I am not quite sure how this could be on my side. I am
not parsing/reading/consuming the entity directly. For that page I only
used the following directives: getFromResourceDirectory, getFromDirectory,
get, pass, complete. My typical usage of “complete” is like this:
get { ctx ⇒
async {
val y = await(x)
val z = await(y)
if (z) await(complete(StatusCodes.OK)(ctx)) else await(reject(ctx))
}
}
Is it possible to not consume the entity while only using the standard
directives?
Nick
On Tuesday, September 8, 2015 at 11:02:33 AM UTC+1, Akka Team wrote:
>
> Hi Nick,
>
>
>
> On Sat, Aug 29, 2015 at 9:05 PM, Nick Stanchenko <[email protected]
> <javascript:>> wrote:
>
>> Hi,
>>
>> I am using akka-http 1.0 to serve a simple website. My father (who is in
>> another country, which complicates debugging this) discovered that when he
>> accesses a certain page on that site, it takes ages to load. This happens
>> 90% of the time and does not happen for other pages. In chrome’s “network”
>> tab the main document is typically shown with a gray bar, which means
>> “connection stalled” (see
>> https://developer.chrome.com/devtools/docs/network#resource-network-timing).
>> To make matters worse, this does not happen if he accesses the page from a
>> phone (3g or the same Wi-Fi network), but it does happen on the PC
>> regardless of the browser.
>>
>> With logging level set to DEBUG, I think I found something peculiar in
>> the server’s logs.
>> When I access the page, here is the sort of output that I get (also see
>> the comments inline):
>> https://gist.github.com/stanch/f01f9db7340ac2199487#file-success-log
>> When my father accesses the page, the output is completely different
>> (again see the comments):
>> https://gist.github.com/stanch/f01f9db7340ac2199487#file-fail-log
>> In particular, no files/resources are served, and after some time the
>> connections are reset with an error.
>>
>> So my questions are:
>> 1) Does this look like any known problem?
>>
>
> Yes, it does, it looks like the entity data stream is not properly
> consumed. The below line
>
> 18:33:40.727 DEBUG akka.stream.impl.PrefixAndTailImpl - Cancelling
> akka.stream.impl.MultiStreamOutputProcessor$SubstreamOutput@707b89fb
> (after: 5000 ms)
>
> makes me suspect that you just don't consume the entity stream and stall
> the connection. The framework thankfully will time out after 5 seconds,
> when the next request can arrive again, but this would explain your stalls.
>
> See this section in the documentation, especially the "caution" part:
> http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/common/http-model.html#HttpEntity
>
> -Endre
>
>
>> 2) What can I do to further debug this issue? Note that I can’t reproduce
>> it on my machine.
>>
>> Nick
>>
>> --
>> >>>>>>>>>> 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] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Akka Team
> Typesafe - Reactive apps on the JVM
> Blog: letitcrash.com
> Twitter: @akkateam
>
--
>>>>>>>>>> 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.