global:set_lock の Nodes に [] を指定するのは間違い

Sets a lock on the specified nodes (or on all nodes if none are specified)
on ResourceId for LockRequesterId.

と書いてあるので set_lock の Nodes に [] を指定したら常に true が返ってきて困った。


global モジュールのコードを読んだが

set_lock({_ResourceId, _LockRequesterId}, [], _Retries, _Times) ->
    true;

となってた。


全てのノードでロックしたいときは [node() | nodes()] を指定するのが正しいようだ。


ちなみに retry は時間にしてどれくらいかかるか?は global.erl の random_sleep を見れば分かる。
250 msec 待ち、それでもだめなら 8 sec を上限に倍の時間待つ。