I’m running Phoenix 1.7.11 on Kubernetes hosted on Azure. After deploying a new version, my app seems to be stuck in a loop, continuously reloading.
When I inspect the network traffic using Developer Tools, I consistently see the following behavior:
This issue has occurred 2-3 times immediately after deploying a new version. In each case, the problem resolved itself after a few hours.
Does anyone know how to prevent this from happening? I’ve tried signing in and out of the app, but that didn’t help. However, if I start an Incognito session, the app works fine.
I’ve configured Kubernetes to run 2 pods of my application. I tried scaling down to 1 pod to see if it would make a difference, and it worked! What considerations should I keep in mind to make it work with multiple pods?
No errors are reported, and the logs don’t reveal anything unusual:
│ 06:20:32.323 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "FVgHHAEVDVkvJgUUEhF-ICI5XCAcJiU_cnSQ8sakLDKnt_1lrSkBXBhf", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "token" => "SFMyNTY.g2gDaAR3AnYxbQAAABZFZ0FuTlEwcndPTWdsTGI0UXVXaTl3WHcNbm9ub2RlQG5vaG9zdAAAAw0AAAAAAAAAAG0AAAAscGh4OmxwOmhjMk9JM0o5Tlo1S0RXRnZaVTN5SkE9PTE3MjM0NDM2MzAyODJ │
│ 06:20:56.227 request_id=e3d70ed48d23ed98096e211e7a9715ff [info] GET /login │
│ 06:20:56.228 request_id=e3d70ed48d23ed98096e211e7a9715ff [info] Sent 200 in 550µs │
│ 06:20:56.463 request_id=f0762cefe256fdd25c97027931cdc241 [info] GET / │
│ 06:20:56.463 request_id=f0762cefe256fdd25c97027931cdc241 [info] Sent 302 in 416µs │
│ 06:20:57.554 request_id=b944c6dcd498dbfa8d25ec1decf5f736 [info] GET / │
│ 06:20:57.555 request_id=b944c6dcd498dbfa8d25ec1decf5f736 [info] Sent 302 in 424µs │
│ 06:20:57.694 request_id=8ad2b198498473115eddc43bfd5bae08 [info] GET /login │
│ 06:20:57.694 request_id=8ad2b198498473115eddc43bfd5bae08 [info] Sent 200 in 633µs │
│ 06:21:10.505 request_id=b2c058cb0f4ac47d324d8c7eddeb302a [info] GET / │
│ 06:21:10.507 request_id=b2c058cb0f4ac47d324d8c7eddeb302a [info] Sent 200 in 1ms │
│ 06:21:15.488 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "R2MdHUAqX3xWJgQ4AREIHzgMZ1UiURod1UIPyL3N5DJBg_GShfP7f5WD", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "token" => "SFMyNTY.g2gDaAR3AnYxbQAAABZFZ0FuTlEwcndPTWdsTGI0UXVXaTl3WHcNbm9ub2RlQG5vaG9zdAAAAxQAAAAAAAAAAG0AAAAscGh4OmxwOmU5Um5NZ29ia3ROSFhva3RXTUQrRGc9PTE3MjM0NDM2NzM0NTR │
│ 06:21:40.601 request_id=1701e597887e7b20bf9d19ed44805788 [info] GET / │
│ 06:21:40.601 request_id=1701e597887e7b20bf9d19ed44805788 [info] Sent 302 in 375µs │
│ 06:21:55.538 request_id=3a5b06c0090064782e8e7fcc5a19a8c5 [info] GET / │
│ 06:21:55.538 request_id=3a5b06c0090064782e8e7fcc5a19a8c5 [info] Sent 302 in 345µs │
│ 06:21:55.873 request_id=837c8aff66d0acc1c3fcf0f490823686 [info] GET / │
│ 06:21:55.874 request_id=837c8aff66d0acc1c3fcf0f490823686 [info] Sent 302 in 366µs │
│ 06:21:56.749 request_id=3484a4aeda0a184c1d3e170b897b68b1 [info] GET / │
│ 06:21:56.749 request_id=3484a4aeda0a184c1d3e170b897b68b1 [info] Sent 302 in 368µs │
│ 06:21:57.532 request_id=e41a5439860fac86a6d5254208dad133 [info] GET /login │
│ 06:21:57.533 request_id=e41a5439860fac86a6d5254208dad133 [info] Sent 200 in 586µs │
│ 06:21:57.672 request_id=4f6523bf2ffa4c531548c1e051f218df [info] GET / │
│ 06:21:57.673 request_id=4f6523bf2ffa4c531548c1e051f218df [info] Sent 200 in 1ms │
│ 06:21:57.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "T04EIXIfKVlWCSUJMhYGNjpaWyx9FAYK9xPlKyEk5kksTXIzj0lN9pKS", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "vsn" => "2.0.0"} │
│ 06:21:58.288 request_id=f3c23fa08a38727a9e176d4ad42c48fa [info] GET / │
│ 06:21:58.289 request_id=f3c23fa08a38727a9e176d4ad42c48fa [info] Sent 200 in 1ms │
│ 06:21:58.511 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "GnoBLAlLIFc8BBEXHDo_ASgmT1YzUXpvlLUa0-Le_f_mztpMxLx4w576", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "vsn" => "2.0.0"} │
│ 06:22:01.454 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "GnoBLAlLIFc8BBEXHDo_ASgmT1YzUXpvlLUa0-Le_f_mztpMxLx4w576", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "vsn" => "2.0.0"} │
│ 06:22:28.796 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "PHcVJFI5KVNRDwwtBBEHOQUyeSoiVCEfJAAik_Ea2mBWb_HuUXNHf0lF", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "vsn" => "2.0.0"} │
│ 06:22:28.827 request_id=b62e49e1ba95cc9d4cb3b38e59d42f8d [info] GET / │
│ 06:22:28.828 request_id=b62e49e1ba95cc9d4cb3b38e59d42f8d [info] Sent 200 in 1ms │
│ 06:22:30.902 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs │
│ Transport: :longpoll │
│ Serializer: Phoenix.Socket.V2.JSONSerializer │
│ Parameters: %{"_csrf_token" => "W3oDLFQoBlUKBS8ODAIDNgYvXlcxPhwh-LWamNjgigatjLLzVEi5uZQx", "_live_referer" => "undefined", "_mounts" => "0", "_track_static" => %{"0" => "https://easy-solutions.test.cyviz.cloud/assets/app-7afcac7a4eb192acffb1a79915f244ff.css?vsn=d", "1" => "https://easy-solutions.test.cyviz.cloud/assets/app-d9d8103ddba66b772599355f7bc4d8af.js?vsn=d"}, "token" => "SFMyNTY.g2gDaAR3AnYxbQAAABZFZ0FuTlEwcndPTWdsTGI0UXVXaTl3WHcNbm9ub2RlQG5vaG9zdAAAAyIAAAAAAAAAAG0AAAAscGh4OmxwOmdsbVNNaW14ejRmaVM2aXVTSWM1VWc9PTE3MjM0NDM3NDg4NzN │
│ 06:22:40.628 request_id=c35148f7230934dc2e36ed48444603e5 [info] GET / │
│ 06:22:40.629 request_id=c35148f7230934dc2e36ed48444603e5 [info] Sent 302 in 423µs