ostinelli / syn

A scalable global Process Registry and Process Group manager for Erlang and Elixir.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The consistency of group membership

erlmachinedev opened this issue · comments

Hi @ostinelli, I found this case which would be nice to classify first (before more detailed test and clarification).

syn:is_member/3
syn:members/2

The first call makes the negative false until syn:members/2 invocation has done from the client side.

It seems that the second call ensures the consistency while the first one doesn't.

If so (is_member/3 isn't consistent by nature) the right doc could be done (to describe the feature properly).

If not (there is a bug 🐛) maybe I could help (at least to give more info and try to reproduce via ct test).

What do you think?

Best regards, Slava

Both calls check the local ETS tables, there is no difference between them (besides the return values). is_member/3 does not call members/2.

Also, syn is eventually consistent.

Thanks for the instant answer @ostinelli, maybe some issue with my ct SUITE. If they both perform ETS query then probably issue on my side.