Skip to main content
ECS tried to start tasks from your new version, watched them fail repeatedly, and triggered its deployment circuit breaker. The rollout was cancelled and the previously running version was left in place, so production kept serving traffic throughout. The failure came from the application’s code or configuration.

Why this happens

The circuit breaker fires when the new tasks keep stopping before the service can stabilise. Common causes:
  • The application crashes at boot. A bad configuration value or an unhandled startup error stops the container within seconds.
  • A secret or environment value the new version expects is missing, so initialisation fails.
  • The schema-version boot gate refuses to start because the database schema does not match what the new code expects.
  • The image itself is broken. The entrypoint fails or a dependency is missing from the build.
The deployment failure sits in the ecs_stabilise phase. The provider reason from ECS may include the stopCode for the failed tasks.

How to fix it

  1. Check the application logs for the stopped tasks. The new version could not start, and the boot output names the reason in almost every case.
  2. Reproduce the boot locally. Run the same image with the same environment and watch it start. A crash that happens in ECS usually happens on your machine too.
  3. If the logs mention a missing secret or environment value, add it and redeploy. Compare the new version’s expected configuration against what the service actually receives.
  4. If the schema gate refused to boot, run the pending migration first, then deploy the code that depends on it.
  5. Deploy again once the boot failure is fixed. The previously running version was left in place, so there is nothing to roll back manually.
The rollback is automatic. Your service never switched to the broken version, so no traffic was served by it.

What Fjall shows you

The deployment’s detail page on fjall.io shows this code, the affected service, the verbatim ECS reason, and the deploy-time ECS event tail. The CLI prints the same information in its Error Detail block, and the deployments list shows the failure title on the deployment’s row.

Deployment safety

How the circuit breaker and the ECS event tail protect your rollouts.

Deploy an application

The full deployment flow, phase by phase.

fjall deploy

Deploy from the CLI and read its failure output.

fjall releases

Check what is currently running after a rollback.