global_name_server bug?

Piriyatheepan Nadarajah piriyatheepan@REDACTED
Sun Aug 23 21:30:16 CEST 2009


Hi There,

Our application is distributed accross many erlang nodes in different hosts.
Recently I came accross a problem when sending messages to globally
registered names from one of the nodes. When I hacked couple of things, I
found that, it is due to an entry in the global_locks ETS table in the
global_name_server. The entry is as follows:

[{ResourceId, LockReqId, PidRefs}] = ets:lookup(global_locks, global).
[{global,[<10104.12.0>,<8820.13.0>],
         [{<8820.13.0>,<8820.13.0>,#Ref<0.0.89.206234>}]}]

AND

[X,Y] = LockReqId.

(stuck_node@REDACTED)117> node(X).
node1@REDACTED
(stuck_node@REDACTED)118> node(Y).
node2@REDACTED

The problem is, this entry does not get removed from the table and this
creates a looping in the global_name_server for the messages that are trying
to aquire global locks. Is it a bug?

Thanks,
Theepan.


More information about the erlang-questions mailing list