MeteorJS app causing H12 and Application Error - heroku

Really hoping some Meteor/Heroku experts can give some advises.
We have a MeteorJS app, hosted on Heroku. It is already using an expensive Professional M Dyno with a lot of memory capacity. But recently, at one point of time, it triggered a lot of H12 Request time out and then Heroku presented Application error page to all visitors.
This resolved after server is restarted. But we are running out of ideas on how to prevent this issue in the future.
We kind of confirmed that there was no obvious long running tasks, like email sending, files uploading.
And then, we can no longer trace deeper what happened right before the Application Error.
To make debugging even harder, even though we can see a lot of 30 seconds response time in the charts before the application error, it means nothing to us because we have seen these 30 seconds charts everyday. We understand that this is because Meteor is using socket connection which falls back to long polling and it is natural that a lot of 30 seconds response is recorded in the chart.
This is a snapshot of the router logs of the H12 errors:
366 <158>1 2022-06-15T06:20:35.674213+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=POST path="/sockjs/859/upwpunj4/xhr" host=www.website.com request_id=dea10dbf-919a-440d-afbb-87f24d6b8bea fwd="37.19.205.195,172.70.222.217" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=http
373 <158>1 2022-06-15T06:20:45.911709+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/696/qq_433yi/websocket" host=www.website.com request_id=761c71de-0f1f-4fac-ad31-db8aed615f54 fwd="151.192.225.202,172.70.92.184" dyno=web.1 connect=0ms service=3220877ms status=503 bytes= protocol=http
398 <158>1 2022-06-15T06:20:47.934103+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/415/mk2hh_st/websocket" host=www.website.com request_id=633aa897-ebc2-4069-b201-6aacc36dc18b fwd="2404:e801:2001:1729:dd09:de8e:a8ff:7969,172.70.142.233" dyno=web.1 connect=0ms service=1720563ms status=503 bytes= protocol=http
394 <158>1 2022-06-15T06:20:48.584366+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/037/5fz5sxeg/websocket" host=www.website.com request_id=253e05d2-76f4-4b53-ae74-3ad252084460 fwd="2001:f40:90f:ed3:d1ea:de0:28ba:c91,162.158.163.228" dyno=web.1 connect=0ms service=1225547ms status=503 bytes= protocol=http
340 <158>1 2022-06-15T06:20:50.298552+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/" host=www.website.com request_id=59cd33a6-e155-4645-9539-8eb2e759b915 fwd="176.9.151.26,172.68.50.111" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=http
430 <158>1 2022-06-15T06:20:54.99057+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/cfs/files/images/AmZNefJYyKWBLuBdb/04.png?token=eyJhdXRoVG9rZW4iOiIifQ%3D%3D&store=thumbs" host=www.website.com request_id=8e9bb915-ea06-4698-9cf6-15f311422c82 fwd="207.46.13.66,162.158.107.186" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=http
371 <158>1 2022-06-15T06:20:55.417353+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/?pg=news/20110628_182815&id=844" host=www.website.com request_id=3d7d0829-0922-4f63-b031-a407b2d97f0d fwd="192.99.15.34,108.162.241.9" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=http
Any guidance or tips is greatly appreciated.

Related

how to solve Heroku Deployment Request timeout error?

I was trying to deploy my dashboard on heroku but after I finished I got Request timeout error
I got an Application error and search a lot but still have the same problem of time out and quota memory exceeded
Here is the error from the activity log:
2022-05-02T19:12:39.725777+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=ukraineinvasion.herokuapp.com request_id=fc485f9
6-0c39-416e-914a-93a3c9e1b6e8 fwd="41.46.189.30" dyno=web.1 connect=0ms service=30004ms status=503 bytes=0 protocol=https
2022-05-02T19:12:40.714784+00:00 app[web.1]: Dash is running on http://127.0.0.1:59351/

Blank page in browser with Unexpected token '<' in console

I have a problem with deploying Strapi application on Heroku. Both local and Heroku Strapi setups are using Postgres database.
Can't see any errors in Heroku logs, just a blank page in browser. Brpwser's console has these two errors:
Uncaught SyntaxError: Unexpected token '<' runtime~main.8073a043.js:1
Uncaught SyntaxError: Unexpected token '<' main.abbe0ac9.chunk.js:1
Heroku logs:
2020-12-11T15:26:03.986177+00:00 heroku[web.1]: State changed from starting to up
2020-12-11T15:26:03.916838+00:00 app[web.1]: INFO: Accepting connections at http://localhost:58777
2020-12-11T15:26:04.470749+00:00 heroku[router]: at=info method=GET path="/" host=john-strapi-postgres.herokuapp.com request_id=8783501f-3d9f-4986-bb44-6648a93d8105 fwd="68.82.27.99" dyno=web.1 connect=1ms service=24ms status=304 bytes=85 protocol=https
2020-12-11T15:26:04.561029+00:00 heroku[router]: at=info method=GET path="/admin/runtime~main.8073a043.js" host=john-strapi-postgres.herokuapp.com request_id=008157f5-a2ff-4738-9a8c-8ef4ac76a2d8 fwd="68.82.27.99" dyno=web.1 connect=1ms service=3ms status=304 bytes=85 protocol=https
2020-12-11T15:26:04.558537+00:00 heroku[router]: at=info method=GET path="/admin/main.abbe0ac9.chunk.js" host=john-strapi-postgres.herokuapp.com request_id=aa2e15a8-e001-4333-a195-f669ddcaac74 fwd="68.82.27.99" dyno=web.1 connect=1ms service=5ms status=304 bytes=85 protocol=https
2020-12-11T15:26:04.666249+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=john-strapi-postgres.herokuapp.com request_id=f2342dac-0347-4b0b-a4e4-89f0a425a98a fwd="68.82.27.99" dyno=web.1 connect=0ms service=6ms status=304 bytes=85 protocol=https
Local Strapi application runs perfectly fine.
Node v. 14.5.1
NPM v. 6.14.8
Strapi v. 3.3.4
Windows 10

Heroku is reseting the node-red app data

I'm developing an college project to read data from an sensor remotely.
I made an application with node-red to be served by Heroku. It has runned perfectly but from times to times the "flow" goes away and the aplication resets the SENSOR DATA.
So how can i made Heroku stops from reseting my application?
I couldn't found any configuration on Heroku manager's interface. In one deployment test, i fixed the "flow" import, but the config data and the sensors data still be loosing by Heroku.
Heroku's log file after an reset:
2018-06-23T15:53:51.688394+00:00 app[web.1]: 23 Jun 15:53:51 - [info] [mqtt-broker:mqttConnection] Connected to broker: Node-RED from smartcampus#mqtt://networkserver.maua.br:1883
2018-06-23T15:53:53.877683+00:00 heroku[router]: at=info method=GET path="/ui/dashboard.appcache" host=node-red-tcc.herokuapp.com request_id=9d830325-8753-4ce4-ac3f-e87710ef81e2 fwd="201.83.101.163" dyno=web.1 connect=1ms service=2ms status=200 bytes=765 protocol=https
2018-06-23T15:53:54.495634+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWby" host=node-red-tcc.herokuapp.com request_id=64c87bcc-88f6-4a9a-b77c-0f413b5f99a1 fwd="201.83.101.163" dyno=web.1 connect=0ms service=2ms status=200 bytes=324 protocol=https
2018-06-23T15:53:54.663602+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWeS&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=7c9aef48-be2b-4a1b-b830-2d09e57f9856 fwd="201.83.101.163" dyno=web.1 connect=0ms service=6ms status=200 bytes=1867 protocol=https
2018-06-23T15:53:54.887141+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWhA&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=70e4ddae-93fd-4de6-a43b-f06da32154ef fwd="201.83.101.163" dyno=web.1 connect=0ms service=58ms status=200 bytes=269 protocol=https
2018-06-23T15:53:54.884760+00:00 heroku[router]: at=info method=POST path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWi0&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=c2fb0ab8-4be9-41a4-ac22-a57b04beeb57 fwd="201.83.101.163" dyno=web.1 connect=0ms service=2ms status=200 bytes=281 protocol=https
2018-06-23T15:53:55.039176+00:00 heroku[router]: at=info method=POST path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWkQ&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=3c5b9515-a8e8-461f-8500-8298618ddc4a fwd="201.83.101.163" dyno=web.1 connect=0ms service=1ms status=200 bytes=281 protocol=https
2018-06-23T15:53:55.040980+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWkS&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=7ceb0806-a510-4c2d-be9f-ac6f96c89ca0 fwd="201.83.101.163" dyno=web.1 connect=1ms service=1ms status=200 bytes=246 protocol=https
2018-06-23T15:53:55.193537+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWms&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=a7d5c82a-454c-48e6-933e-fbe1d14c8e88 fwd="201.83.101.163" dyno=web.1 connect=0ms service=1ms status=200 bytes=327 protocol=https
2018-06-23T15:53:55.537788+00:00 heroku[router]: at=info method=GET path="/ui/socket.io/?EIO=3&transport=polling&t=MGjMWql&sid=yOGzHE-Gl54e7SKDAAAB" host=node-red-tcc.herokuapp.com request_id=ed2a473d-2478-41ec-bc17-26567c4b44fa fwd="201.83.101.163" dyno=web.1 connect=0ms service=93ms status=200 bytes=225 protocol=https
Interface after reset:
Interface before reset:
Project Client Interface link:
https://node-red-tcc.herokuapp.com/ui/
PS: I didn't include node-red's project files to not pollute this Question. But I will when asked to do it.
Thank you in advance!
The Heroku's support said that the free services has an sleeping mode. And the sleeping mode resets some files, so there is no way to solve this problem in the free mode.

Deploy Spring boot+Angular2 app to Heroku

I was trying to deploy my first web-app ( back end - Spring, front end - Angular2 ) to Heroku, but the front end doesn't work properly. This is what I see in logs.
2016-11-08T16:53:10.634253+00:00 heroku[router]: at=info method=GET path="/login.html" host=organazi.herokuapp.com request_id=86ff1936-97be-4cd1-abea-6553163c834f fwd="91.196.192.37" dyno=web.1 connect=1ms service=209ms status=200 bytes=1772
2016-11-08T16:53:11.003293+00:00 heroku[router]: at=info method=GET path="/node_modules/core-js/client/shim.min.js" host=organazi.herokuapp.com request_id=8ae3afe7-5721-41ef-9d80-d853ede55e07 fwd="91.196.192.37" dyno=web.1 connect=2ms service=231ms status=404 bytes=548
2016-11-08T16:53:11.110401+00:00 heroku[router]: at=info method=GET path="/systemjs.config.js" host=organazi.herokuapp.com request_id=ee743412-a577-4b4e-b5a0-1a6ed9cd5391 fwd="91.196.192.37" dyno=web.1 connect=1ms service=88ms status=200 bytes=2077
2016-11-08T16:53:11.096089+00:00 heroku[router]: at=info method=GET path="/node_modules/reflect-metadata/Reflect.js" host=organazi.herokuapp.com request_id=4954cbe7-832a-4e86-a37f-beb82fc3d567 fwd="91.196.192.37" dyno=web.1 connect=1ms service=70ms status=404 bytes=549
2016-11-08T16:53:11.116841+00:00 heroku[router]: at=info method=GET path="/node_modules/zone.js/dist/zone.js" host=organazi.herokuapp.com request_id=facea6c9-0c5c-4b68-8b7d-88347054bbd6 fwd="91.196.192.37" dyno=web.1 connect=1ms service=100ms status=404 bytes=542
2016-11-08T16:53:11.113024+00:00 heroku[router]: at=info method=GET path="/node_modules/systemjs/dist/system.src.js" host=organazi.herokuapp.com request_id=5605b488-0a21-49d8-8d71-ef3fd06288e4 fwd="91.196.192.37" dyno=web.1 connect=2ms service=93ms status=404 bytes=549
2016-11-08T16:53:11.271432+00:00 heroku[router]: at=info method=GET path="/node_modules/reflect-metadata/Reflect.js" host=organazi.herokuapp.com request_id=c4c5d13d-3311-4d8e-a46a-c14c59b03899 fwd="91.196.192.37" dyno=web.1 connect=6ms service=27ms status=404 bytes=549
2016-11-08T16:53:11.430986+00:00 heroku[router]: at=info method=GET path="/node_modules/systemjs/dist/system.src.js" host=organazi.herokuapp.com request_id=d8f8a2ba-5e10-4d55-8cd1-0c6b5388de26 fwd="91.196.192.37" dyno=web.1 connect=1ms service=38ms status=404 bytes=549
2016-11-08T16:53:11.613146+00:00 heroku[router]: at=info method=GET path="/systemjs.config.js" host=organazi.herokuapp.com request_id=1440d389-ecc9-4537-bcd2-19cc6146e453 fwd="91.196.192.37" dyno=web.1 connect=6ms service=21ms status=200 bytes=2077
2016-11-08T16:53:11.778848+00:00 heroku[router]: at=info method=GET path="/login/blue-sky-hd-wallpaper-2.jpg" host=organazi.herokuapp.com request_id=cd6a19c8-dbd0-4b68-926a-4c760bc9c3a9 fwd="91.196.192.37" dyno=web.1 connect=1ms service=17ms status=200 bytes=52476
Files like systemjs.config.js and image /login/blue-sky-hd-wallpaper-2.jpg loads fine, but there are some problems with loading node_modules. Sitting for 2 weeks with this problem.
My project - https://github.com/BarexaS/Constructed.git
In my Spring Boot and Angular2 setup I have similar issues. Unfortunately I have no solution yet. If you did not add the (generated) node_modules to your VCS (which you should not do anyway) heroku won't be able to detect automatically that your project also contains Node.js dependencies, even if your package.json is checked in. Consequently node_modules won't be available. There is the possiblity to tell heroku that your project is also Node.js based (by specifying it in the Procfile) but in the description heroku will expect that the package.json file is located in the root folder of the Spring Boot app. In my setup it is located in resources/static/js/ so I do not really know how to tell heroku that it first must install the dependencies by calling npm install in this folder.

Heroku: Not Found & Process Exited

I'm not sure how I can debug this. Running this ruby/sinatra/thin app locally I have no issues whatsoever. On Heroku however the app doesn't seem to load, says "Not Found.". I'm not sure how to make sense of the logs:
2013-03-20T22:27:41+00:00 heroku[api]: Enable Logplex by mymail#gmail.com
2013-03-20T22:27:41+00:00 heroku[api]: Release v2 created by mymail#gmail.com
2013-03-20T22:28:04+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/ host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno= queue= wait= connect= service= status=502 bytes=
2013-03-20T22:28:05+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno= queue= wait= connect= service= status=502 bytes=
2013-03-20T22:28:05+00:00 heroku[router]: at=info code= desc="Blank app" method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno= queue= wait= connect= service= status=502 bytes=
2013-03-20T22:37:08+00:00 heroku[slugc]: Slug compilation started
2013-03-20T22:37:59+00:00 heroku[api]: Scale to web=1 by mymail#gmail.com
2013-03-20T22:37:59+00:00 heroku[api]: Add config by mymail#gmail.com
2013-03-20T22:37:59+00:00 heroku[api]: Release v3 created by mymail#gmail.com
2013-03-20T22:38:00+00:00 heroku[api]: Release v4 created by mymail#gmail.com
2013-03-20T22:38:00+00:00 heroku[api]: Deploy 0a18d12 by mymail#gmail.com
2013-03-20T22:38:00+00:00 heroku[web.1]: Starting process with command `bundle exec rackup config.ru -p 33969`
2013-03-20T22:38:00+00:00 heroku[slugc]: Slug compilation finished
2013-03-20T22:38:01+00:00 app[web.1]: bash: bundle: command not found
2013-03-20T22:38:02+00:00 heroku[web.1]: Process exited with status 127
2013-03-20T22:38:09+00:00 heroku[web.1]: State changed from starting to up
2013-03-20T22:38:19+00:00 heroku[router]: at=info method=GET path=/ host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=0ms connect=3ms service=79ms status=404 bytes=18
2013-03-20T22:38:21+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=13ms connect=12ms service=69ms status=404 bytes=18
2013-03-20T22:38:21+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=0ms connect=2ms service=21ms status=404 bytes=18
2013-03-20T22:50:19+00:00 heroku[slugc]: Slug compilation started
2013-03-20T22:51:01+00:00 heroku[api]: Release v5 created by mymail#gmail.com
2013-03-20T22:51:01+00:00 heroku[api]: Deploy e18aad6 by mymail#gmail.com
2013-03-20T22:51:01+00:00 heroku[web.1]: State changed from up to starting
2013-03-20T22:51:02+00:00 heroku[slugc]: Slug compilation finished
2013-03-20T22:51:09+00:00 heroku[web.1]: State changed from starting to up
2013-03-20T22:52:32+00:00 heroku[router]: at=info method=GET path=/ host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=1ms connect=6ms service=11ms status=404 bytes=18
2013-03-20T22:52:33+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=0ms connect=2ms service=5ms status=404 bytes=18
2013-03-20T22:52:33+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=1ms connect=4ms service=4ms status=404 bytes=18
2013-03-20T22:52:34+00:00 heroku[router]: at=info method=GET path=/ host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=0ms connect=4ms service=4ms status=404 bytes=18
2013-03-20T22:52:35+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=0ms connect=12ms service=4ms status=404 bytes=18
2013-03-20T22:52:35+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=ancient-kings-2615.herokuapp.com fwd="92.225.106.224" dyno=web.1 queue=0 wait=2ms connect=5ms service=4ms status=404 bytes=18
Any ideas?
Update 21.3.2013
my gemfile
source "http://rubygems.org"
# Sinatra
gem "rake"
gem "thin"
gem "sinatra", "~> 1.3.4"
gem "sinatra-contrib", "~> 1.3.1"
gem 'sinatra-assetpack', :require => 'sinatra/assetpack'
# Sass
gem "sass", "~> 3.2.1"
# Mailing related
gem "hominid", "~> 3.0.5"
# Google Analytics: UNCOMMENT IF DESIRED, THEN ADD YOUR OWN ACCOUNT INFO TO config.ru
#gem 'rack-google-analytics', "~> 0.9.2"
my config.ru
require 'rubygems'
require 'bundler'
Bundler.require
require './app.rb'
run Sinatra::Application
I cloned the repo but couldn't get it to work via rackup, which is what Heroku relies up to run an app. It did work when running the Sinatra app directly via Ruby. Here are the changes I made that got it to work with rackup:
config.ru
require 'rubygems'
require 'bundler'
Bundler.require
require File.expand_path 'app.rb', File.dirname(__FILE__)
run App
If you've subclassed, run the subclass, otherwise use Sinatra::Application
I also removed all the $:.unshifts that I found, as they're evil.

Resources