Is downtime expected post app deploy?

When I deploy a simple Go app (based on the example go app), I see the health checks pass. But when I try and visit the browser, the browser hangs for a long time.

After a few minutes, the request works. This happens every deployment. Once things start to work, we are good.

But it seems that the new instance is not up and accepting traffic before the old?

Sometimes the first request is valid and is stood up in IRA. But the second request hangs while it decides I should be in ORD.


kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[build]
  builder = "paketobuildpacks/builder:base"
  buildpacks = ["gcr.io/paketo-buildpacks/go"]

[env]
  PORT = "8080"

[experimental]
  allowed_public_ports = []
  auto_rollback = true

[[services]]
  http_checks = []
  internal_port = 8080
  processes = ["app"]
  protocol = "tcp"
  script_checks = []

  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    handlers = ["http"]
    port = 80

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 443

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    restart_limit = 0
    timeout = "2s"
1 Like

There’s a known “slow propagation” issue that Fly is working on. See here for the current workaround.

@kurt is there any update on this? Looks like you posted that you were very close to a fix 10 days ago.

1 Like

We’re still working on it. We have a test service discovery setup that works much, much better but it’s going to be a few days (at least) until we can release it more broadly. This is not an easy fix to ship, so 10 days is actually not very long. :slight_smile:

3 Likes

Thanks, I wasn’t sure how to interpret “so close:slightly_smiling_face:

@enaia ty for pointing me in the right direction.

@kurt - totally get it. Luckily I am in the building phase, so the impact is nil. I thought I was doing something wrong.

1 Like

I’m experiencing a similar issue with a Phoenix + LiveView app. After every deployment the app gets very slow. It only goes back to normal after I scale up (or down!) the amount of memory. Once that is done the thing gets really snappy.

I’ve found adding --strategy rolling to the deploy command can help.

But any current deploy issues may be related to this:

It seems that it worked! Now it’s snappy right after the deployment. Thanks @greg !

1 Like

Yay! You’re welcome.

Thanks for all the useful info folks, very handy for me to understand what is happening with my deployment :purple_heart:

1 Like