module Nn_monitor:Management of datastores, i.e. which datastores are available on which datanodessig
..end
This module is run inside the single nn_monitor
process. Read access
from other processes is possible via the Nn_datastore_news
module
(using a pub/sub scheme).
The module can also be notified to merge db changes into its in-core
set of datastores.
val list : unit -> Nn_datastores.datastore list
val get : string -> Nn_datastores.datastore
Not_found
val add : Nn_datastores.datastore -> unit
val update_from_db : ?when_done:(unit -> unit) -> int -> unit
val delete : string -> unit
delete identity
: Remove this storeval enable : string -> unit
enable identity
: Sets enabled
to trueval disable : string -> unit
disable identity
: Sets enabled
to falseval is_alive : string -> bool
is_alive identity
: Returns whether the datanode having this store
is good as seen by the monitor. Fails if the monitor is not started.val start_publishing : unit -> unit
Nn_datastore_news
val post_add_hook : Netplex_types.socket_service -> Netplex_types.controller -> unit
post_add_hook
val receive_message : Pfs_auth.client_auth ->
Netplex_types.container -> string -> string array -> unit
receive_message
hook in order to
arrange notifications about db updatesval post_start_hook : Netplex_types.container ->
Nn_config.nn_node_config -> Pfs_auth.client_auth -> unit
It is required that Nn_db.init
was called before.
val shutdown : unit -> unit