I’m getting an error when I try to remote into my app on fly.io. In this case I’m just doing a basic read from iex. (I am using Ash but Zach is convinced it is not an Ash problem)
Unknown Error
* ** (ArgumentError) errors were found at the given arguments:
* 1st argument: the table identifier does not refer to an existing ETS table
(stdlib 4.2) :ets.match_object(:telemetry_handler_table, {:handler, :_, [:ash, :accessibility, :read | :_], :_, :_})
(telemetry 1.3.0) /app/deps/telemetry/src/telemetry_handler_table.erl:59: :telemetry_handler_table.list_by_prefix/1
(telemetry 1.3.0) /app/deps/telemetry/src/telemetry.erl:379: :telemetry.list_handlers/1
(ash 3.4.62) lib/ash/actions/read/read.ex:76: Ash.Actions.Read.run/3
(ash 3.4.62) lib/ash.ex:2044: Ash.read/2
(ash 3.4.62) lib/ash.ex:2002: Ash.read!/2
(elixir 1.18.1) src/elixir.erl:386: :elixir.eval_external_handler/3
(stdlib 4.2) erl_eval.erl:748: :erl_eval.do_apply/7
(stdlib 4.2) :ets.match_object(:telemetry_handler_table, {:handler, :_, [:ash, :accessibility, :read | :_], :_, :_})
(telemetry 1.3.0) /app/deps/telemetry/src/telemetry_handler_table.erl:59: :telemetry_handler_table.list_by_prefix/1
(telemetry 1.3.0) /app/deps/telemetry/src/telemetry.erl:379: :telemetry.list_handlers/1
(ash 3.4.62) lib/ash/actions/read/read.ex:76: Ash.Actions.Read.run/3
(ash 3.4.62) lib/ash.ex:2044: Ash.read/2
(ash 3.4.62) lib/ash.ex:2002: Ash.read!/2
iex:3: (file)
Node.list()
returns []
, so I can see it’s definitely not connected. I had the DNS clustering stuff configured already except for the entry in fly.toml. I added that, deployed and am getting the same result.
I’m getting a warning in my logs on deploy:
WARNING The app is not listening on the expected address and will not be reachable by fly-proxy.asdfg reached started state
You can fix this by configuring your app to listen on the following addresses:
- 0.0.0.0:8080
Do I need to change my endpoint configuration?
host = System.get_env("PHX_HOST") || "example.com"
port = String.to_integer(System.get_env("PORT") || "8080")
config :twfex, MyAppWeb.Endpoint,
url: [host: host, port: 443, scheme: "https"],
http: [
# Enable IPv6 and bind on all interfaces.
# Set it to {0, 0, 0, 0, 0, 0, 0, 1} for local network only access.
# See the documentation on https://hexdocs.pm/bandit/Bandit.html#t:options/0
# for details about using IPv6 vs IPv4 and loopback vs public addresses.
ip: {0, 0, 0, 0, 0, 0, 0, 0},
port: port
],
secret_key_base: secret_key_base
Locally, it’s all fine.
Anyone have any ideas?