Description
#314 adds new reply mode options for ra:process_command/3
which controls which member of the Ra cluster replies with gen_statem:reply/2
to a call:
local
- reply from a node local to the calling process{member, Member}
- reply from the given member
which fall back to the leader if the given member is not in cluster membership. These are useful for blocking a caller until a command has been handled by the given member.
These should be added to ra:pipeline_command/4
as well to control which member of the cluster sends notifications. This would involve some refactoring of how notifications are stored within the cluster state (in ra_server_proc
's #state.pending_notifys
field) and the shape of the notify
ra_server:effect()
:
Line 153 in 09cc606
Currently, notifications are grouped by pid:
Lines 2310 to 2321 in 09cc606
and replied to in batches:
Lines 1708 to 1731 in 09cc606
This will need to be refactored so that notifications are grouped by pid and reply-from.