Plasma GitLab Archive
Projects Blog Knowledge

Plasma Project:
Home 
Manual 
FAQ 
Slides 
Perf 
Releases 

Pfs_nn_dnadmin


/* $Id: pfs_nn_dnadmin.x 488 2011-10-25 21:29:23Z gerd $ -*- c -*- */

Dn_admin

Administration of datanodes


#include "pfs_types.x"

#ifndef PFS_NN_DNADMIN
#define PFS_NN_DNADMIN

program Dn_admin {
    version V1 {

null


	void null(void) = 0;

add_datanode


	void add_datanode(longstring, hyper) = 1;
add_datanode(identity, size): adds a new datanode. It is in disabled state initially

enable_datanode


	void enable_datanode(longstring, longstring) = 2;
enable_datanode(identity, hostport): Enables the data node for identity on hostport.

disable_datanode


	void disable_datanode(longstring) = 3;
disable_datanode(identity):

This means blocks are no longer allocated on the node, and if blocks from this node are reported as non-alive by get_blocks. This datanode state is considered temporary (e.g. while moving a disk from one node to another).

The coordinator pings the datanodes anyway, and finds quickly out whether nodes are down. This RPC is more useful for administratively taking nodes down, e.g. for maintenance.

is_enabled


	bool is_enabled(longstring) = 4;
whether this identity is enabled

is_alive


	bool is_alive(longstring) = 8;
whether this identity is alive

fsstat


	fsstat fsstat(longstring) = 9;
return the block statistics for this datanode. Fills only total_blocks, used_blocks, and trans_blocks.

lookup


	longstring lookup(longstring) = 5;
looks the identity up and returns hostport. Only for enabled nodes that could be at least contacted once. The node may be unresponsive now, though.

Returns the empty string if the identity is known, but no address is associated with it, or if the node is disabled.

Fails if the identity is unknown.

datanodes


	longstrings datanodes(void) = 6;
Returns the identities of all datanodes

destroy_datanode


	void destroy_datanode(longstring) = 7;
destroy_datanode(identity):

This removes all information about this datanode from the namenode database.


    } = 1;
} = 0x8000e003;
#endif

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml