itopiz
Hi,
I am trying to migrate an application from Elixir 1.14.5 to 1.15.7.
All my tests pass but they trigger additional errors related to commanded and eventstore:
Most of the errors are: unknown registry: MyApp.EventStore.EventStore.PubSub as shown here:
16:05:55.218 [error] GenServer {MyApp.EventStore.EventStore.Subscriptions.Registry, {"$all", "MyProcessManager"}} terminating
** (ArgumentError) unknown registry: MyApp.EventStore.EventStore.PubSub
(elixir 1.15.7) lib/registry.ex:1391: Registry.info!/1
(elixir 1.15.7) lib/registry.ex:1007: Registry.register/3
(eventstore 1.4.7) lib/event_store/pubsub.ex:38: EventStore.PubSub.subscribe/3
(eventstore 1.4.7) lib/event_store/subscriptions/subscription_fsm.ex:70: EventStore.Subscriptions.SubscriptionFsm.transition/3
(eventstore 1.4.7) lib/event_store/subscriptions/subscription.ex:221: EventStore.Subscriptions.Subscription.handle_call/3
(stdlib 4.3.1.6) gen_server.erl:1149: :gen_server.try_handle_call/4
(stdlib 4.3.1.6) gen_server.erl:1178: :gen_server.handle_msg/6
(stdlib 4.3.1.6) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message (from #PID<0.16668.1>): {:connect, #PID<0.16668.1>, [retry_interval: 60000, hibernate_after: 15000, partition_by: nil, concurrency_limit: 1, name: MyApp.EventStore, mapper: &Commanded.EventStore.Adapters.EventStore.Mapper.from_recorded_event/1, conn: MyApp.EventStore.Postgrex, event_store: MyApp.EventStore, query_timeout: 15000, schema: "public", serializer: Commanded.Serialization.JsonSerializer, stream_uuid: "$all", subscription_name: "MyProcessManager", start_from: 0]}
domain=otp file=gen_server.erl line=1402 mfa=:gen_server.error_info/8 pid=<0.16687.1>
Less often I also have: 1st argument: the table identifier does not refer to an existing ETS table as shown here:
16:05:56.398 [error] GenServer {MyApp.EventStore.EventStore.Subscriptions.Registry, {"$all", "MyProcessManager"}} terminating
** (ArgumentError) errors were found at the given arguments:
* 1st argument: the table identifier does not refer to an existing ETS table
(stdlib 4.3.1.6) :ets.insert(#Reference<0.4090088613.484835331.67685>, {#PID<0.17183.1>, "$all", #Reference<0.4090088613.484835331.67684>, -576460752299835900})
(elixir 1.15.7) lib/registry.ex:1018: Registry.register/3
(eventstore 1.4.7) lib/event_store/pubsub.ex:38: EventStore.PubSub.subscribe/3
(eventstore 1.4.7) lib/event_store/subscriptions/subscription_fsm.ex:70: EventStore.Subscriptions.SubscriptionFsm.transition/3
(eventstore 1.4.7) lib/event_store/subscriptions/subscription.ex:221: EventStore.Subscriptions.Subscription.handle_call/3
(stdlib 4.3.1.6) gen_server.erl:1149: :gen_server.try_handle_call/4
(stdlib 4.3.1.6) gen_server.erl:1178: :gen_server.handle_msg/6
(stdlib 4.3.1.6) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message (from #PID<0.17166.1>): {:connect, #PID<0.17166.1>, [retry_interval: 60000, hibernate_after: 15000, partition_by: nil, concurrency_limit: 1, name: MyApp.EventStore, mapper: &Commanded.EventStore.Adapters.EventStore.Mapper.from_recorded_event/1, conn: MyApp.EventStore.Postgrex, event_store: MyApp.EventStore, query_timeout: 15000, schema: "public", serializer: Commanded.Serialization.JsonSerializer, stream_uuid: "$all", subscription_name: "MyProcessManager", start_from: 0]}
domain=otp file=gen_server.erl line=1402 mfa=:gen_server.error_info/8 pid=<0.17183.1>
The 2 error stacks have a lot in common. Somehow eventstore is trying to do something with what appears to be a registry linked to a dead process.
I have a lot of tests that run in parallel. If I try to run 1 test file at the time, no error occur. But if I run 2 test files in parallel, error sometime occur. It is difficult to reproduce because it is not predictable.
I do not know how to troubleshoot this. I have re-read the Commanded documentation in particular regarding Application and Process managers and I believe I do what the documentation recommends.
Any idea? @slashdotdash perhaps?
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
itopiz
For information, the issue appears from Elixir version 1.15.0.
dimitarvp
At this point the only advice I could give you is to create a small git repository that reproduces the issue. I’d think people would be more willing to help.
ken-kost
Why are you upgrading to that specific version and what happens if you go higher, for instance latest version, or 1.16? Also what about erlang version(s)?
itopiz
The issue is not reproducible in a deterministic way so it might be difficult to create such repository. I will try anyway.
itopiz
I was just updating my app one version at a time but I went on and noticed the issue also happens with:
1.15.01.15.71.16.31.17.31.18.11.18.1ken-kost
I did a little digging. There is this stackoverflow question with similar issue.
But I don’t see why would version bump be related to this.
Also somebody in the comment’s comment referenced this elixirforum thread
where they resolve issues with phoenix changes.
So if your app has phoenix consider bumping that as well and research what changes were made. Just an idea.
itopiz
Thank you but this is not helpful.
My
childrenarray is in order.Few days ago when I posted the issue, all my elixir dependencies were up-to-date (phoenix 1.7.19).
ken-kost
You are right. Perhaps this then?
Do you have
start_from: :current?itopiz
Again thank you very much, but I do not have
:start_fromspecified. The issue you linked seems like the same as mine.ken-kost
Okay, maybe try out some configurations of that option and see if anything changes.
Other than that it’s what @dimitarvp mentioned: make a repo that reproduces this issue, it’s the best way for help in debugging.