Why am I getting H28 / "Client Connection Idle" on heroku dev-dyno when sending medium-sized JSON?
Asked Answered
S

0

7

I have a simple Meteor app on a heroku dev dyno, and what I've noticed that if the JSON payload on a POSTed request is a bit bigger (in this case Content-Length: 2161) the connection will time out.

Only every 6-7th request goes through, even if I am the only user.

The curl request:

curl -X POST -H 'Content-Type: application/json; charset=UTF-8' http://APP_SUBDOMAIN.herokuapp.com/api/cars/ --data '{"_id":"car-data-10","crlData":{"latitude":48.17375412849221,"longitude":11.531698666512966,"mapIcon":"/imgs/car_icon_white.png","mapIconSelected":"/imgs/car_icon_red.png","positionInitialized":true,"rotation":90.0},"description":"Das Fahrzeug ist in einem sehr guten Zustand. Letzter Service wurde bei 81000km gemacht. \nFahrzeug ist achtfach bereift.\nWinterreifen,TUV, und die Batterie sind neu. Ausserdem sind alle Bremsen neu.\n\nDie abnehmbare Anhangerkupplung wurde nur fur einen Fahrradtrager verwendet.\n\nWeitere Sonderaustattungen: Dynaudio Soundsystem, Berg An - und Abfahrhilfe, automatisches Auf -und Abblendlicht, Coming Leaving Home, Innenraumbeleuchtung dimmbar, Auf -und Abblendlicht Xenon, Tagfahrlicht, selbslenkendes Einparken, dunkler Innenraumhimmel.","features":{"exterior":["Alloy wheels","Electric side mirror","Trailer coupling"],"extras":["Full Service History","Non-smoker vehicle"],"interior":["Bluetooth","CD player","Central locking","Climatisation (Automatic air conditioning)","Electric heated seats","Electric seat adjustment","Electric windows","Hands-free kit","MP3 interface","Multifunction steering wheel","On-board computer","Parking sensors (Front, Rear, Self-steering systems)","Power Assisted Steering","Sport seats","Tuner/radio"],"safety":["ABS","Adaptive lighting","Airbags (Front and Side and More Airbags)","Daytime running lights","ESP","Fog lamp","Immobilizer","Light sensor","Rain sensor","Xenon headlights"]},"images":["/dealerships/bmw/view_files/jpg/default_3.jpg"],"make":"BMW","model":"330d xDrive Touring","price":"16500","technicalData":{"extended":{"co2_emissions_combined":null,"colour":null,"cubic_capacity":null,"door_count":null,"emission_class":null,"emissions_sticker":null,"fuel_consumption_combined":null,"fuel_consumption_extra_urban":null,"fuel_consumption_urban":null,"hu":null,"interior_colour":null,"interior_design":null,"number_of_seats":null},"main":{"category":"saloon, used vehicle","first_registration":"fr 11/2010","fuel_type":"petrol (e10-enabled)","gearbox":"manual gearbox","power":"155 kw (211 ps)"}},"title":"BMW 330d xDrive Touring","makeAndModel":"BMW 330d xDrive Touring"}'

The error on the server:

at=warning code=H28 desc="Client Connection Idle" method=POST path="/api/cars/" host=APP_SUBDOMAIN.herokuapp.com request_id=b3a75450-8fa2-4c71-a0b5-526b918dade2 fwd="IP_ADDRESS" dyno=web.1 connect=0ms service=55083ms status=499 bytes=0
2016-10-13T21:22:58.286627+00:00 app[web.1]: Error: request aborted

On the other hand a content like

 --data '{"_id":"car-data-10","crlData":{"latitude":48.17375412849221,"longitude":11.531698666512966,"mapIcon":"/imgs/car_icon_white.png","mapIconSelected":"/imgs/car_icon_red.png","positionInitialized":true,"rotation":90.0}}'

of Content-Length: 217 goes through every time without a problem.

Locally everything runs smoothly.

In this demo app I am working on I have reduced the request payload, but

... my question is:

are there any limitations I am not aware of which might be causing the timeouts?

PS. On the server side I do a simple save in the Database

Solution answered 13/10, 2016 at 21:55 Comment(4)
Have you tested running locally?Phyllode
Locally everything is fine.Solution
@Solution did you find an answer to this issue?Sorosis
Unfortunately not. I ended up deploying the app somewhere elseSolution

© 2022 - 2024 — McMap. All rights reserved.