<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE> [99s-extend] Cowboy unexpectedly timing out when reading the body
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20unexpectedly%20timing%20out%20when%20reading%20the%20body&In-Reply-To=%3CCF48C816.16B3B%25christopher.phillips%40turner.com%3E">
<META NAME="robots" CONTENT="index,nofollow">
<style type="text/css">
pre {
white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
}
</style>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="000358.html">
<LINK REL="Next" HREF="000360.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[99s-extend] Cowboy unexpectedly timing out when reading the body</H1>
<B>Phillips, Christopher</B>
<A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20unexpectedly%20timing%20out%20when%20reading%20the%20body&In-Reply-To=%3CCF48C816.16B3B%25christopher.phillips%40turner.com%3E"
TITLE="[99s-extend] Cowboy unexpectedly timing out when reading the body">Christopher.Phillips at turner.com
</A><BR>
<I>Fri Mar 14 19:52:07 CET 2014</I>
<P><UL>
<LI>Previous message: <A HREF="000358.html">[99s-extend] Updating Cowboy applications
</A></li>
<LI>Next message: <A HREF="000360.html">[99s-extend] Cowboy unexpectedly timing out when reading the body
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#359">[ date ]</a>
<a href="thread.html#359">[ thread ]</a>
<a href="subject.html#359">[ subject ]</a>
<a href="author.html#359">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On a dev server I had a Cowboy app suddenly start returning timeouts when calling cowboy_req:body_qs(Request), with surprising frequency, which in turn led to 500s back to the calling client. It only appeared to happen when hitting one particular resource, and was sporadic, and I was wondering if there might be some explanation related to Cowboy (as opposed to maybe really weird VM issues). For full disclosure, we would first check the body with cowboy_req:body(Request) as part of an access log, then ignore the returned cowboy_req:req() that call passed back, since we could not then stream the body off of it again. It was working fine, so I don't think it was related, but it seems more solid now after I removed it and I don't know if that's related or not.
Here is an example request that dumped when the process died -
{req,[{socket,#Port<0.7113>},{transport,ranch_tcp},{connection,keepalive},{pid,<0.1805.0>},{method,<<"POST">>},{version,'HTTP/1.1'},{peer,{{10,188,32,225},53188}},{host,<<"bps-feedschedulervip1.turner.com">>},{host_info,undefined},{port,8091},{path,<<"/encoders/Player1/record">>},{path_info,[<<"record">>]},{qs,<<"authToken=...">>},{qs_vals,[{<<"authToken">>,<<"...">>}]},{bindings,[{id,<<"Player1">>}]},{headers,[{<<"host">>,<<"bps-feedschedulervip1.turner.com:8091">>},{<<"content-type">>,<<"application/x-www-form-urlencoded; charset=UTF-8">>},{<<"origin">>,<<"<A HREF="http://bps-newstrondev1.turner.com">http://bps-newstrondev1.turner.com</A>">>},{<<"content-length">>,<<"48">>},{<<"connection">>,<<"keep-alive">>},{<<"accept">>,<<"application/json, text/javascript, */*; q=0.01">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9">>},{<<"referer">>,<<"<A HREF="http://bps-newstrondev1.turner.com/newstron/record/record.html">http://bps-newstrondev1.turner.com/newstron/record/record.html</A>">>},{<<"accept-language">>,<<"en-us">>},{<<"accept-encoding">>,<<"gzip, deflate">>}]},{p_headers,[{<<"content-type">>,{<<"application">>,<<"x-www-form-urlencoded">>,[{<<"charset">>,<<"utf-8">>}]}},{<<"if-modified-since">>,undefined},{<<"if-none-match">>,undefined},{<<"if-unmodified-since">>,undefined},{<<"if-match">>,undefined},{<<"accept">>,[{{<<"application">>,<<"json">>,[]},1000,[]},{{<<"text">>,<<"javascript">>,[]},1000,[]},{{<<"*">>,<<"*">>,[]},10,[]}]},{<<"connection">>,[<<"keep-alive">>]}]},{cookies,undefined},{meta,[{charset,undefined},{media_type,{<<"application">>,<<"json">>,[]}}]},{body_state,waiting},{multipart,undefined},{buffer,<<>>},{resp_compress,false},{resp_state,waiting},{resp_headers,[{<<"content-type">>,[<<"application">>,<<"/">>,<<"json">>,<<>>]},{<<"Access-Control-Allow-Origin">>,<<"*">>}]},{resp_body,<<>>},{onresponse,#Fun<access_log_responder.onresponse.4>}]}
As I said, it may be just due to VM issues or something, but I figured I'd ask in case there was any obvious issue.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20140314/b2f802d3/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20140314/b2f802d3/attachment.html</A>>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="000358.html">[99s-extend] Updating Cowboy applications
</A></li>
<LI>Next message: <A HREF="000360.html">[99s-extend] Cowboy unexpectedly timing out when reading the body
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#359">[ date ]</a>
<a href="thread.html#359">[ thread ]</a>
<a href="subject.html#359">[ subject ]</a>
<a href="author.html#359">[ author ]</a>
</LI>
</UL>
<hr>
<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
mailing list</a><br>
</body></html>