This PR adds a warning in README about using Whacamole on an application that has preboot enabled.
We've seen some weirdness on a 30+ dynos app and Heroku support engineer @watsonian found this out (all credit goes to him, actually):
It looks like Whacamole might not be behaving well with preboot. The problem is that there's a 3 minute period where both the old and new dynos are running. The old dyno is still processing requests while the new dyno is booting. The memory usage log emissions that Whacamole is seeing are from the old dyno, not the new dyno. Whacamole is then restarting your dyno even though it's already in the process of rebooting. This leaves your old original dyno (that's swapping) running for even longer because the new restart spins up yet another dyno to preboot (which takes ~3 minutes).
Note that the second issue I mention here might possibly be fixed by maintaining a trace of not only the dyno name (web.X) but also their unique id (dyno=heroku.28023208.ab6ae82e-64b3-41e0-84d5-dc35124b113d in the logs).
This PR adds a warning in README about using Whacamole on an application that has preboot enabled.
We've seen some weirdness on a 30+ dynos app and Heroku support engineer @watsonian found this out (all credit goes to him, actually):
Note that the second issue I mention here might possibly be fixed by maintaining a trace of not only the dyno name (
web.X
) but also their unique id (dyno=heroku.28023208.ab6ae82e-64b3-41e0-84d5-dc35124b113d
in the logs).