REST API does not expose node-master status, closes #203.

This commit is contained in:
kimchy 2010-06-02 16:59:55 +03:00
parent c2d583064e
commit 6c8f49c37d

View File

@ -25,6 +25,7 @@ import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.cluster.node.DiscoveryNode;
import org.elasticsearch.cluster.routing.IndexRoutingTable;
import org.elasticsearch.cluster.routing.IndexShardRoutingTable;
import org.elasticsearch.cluster.routing.RoutingNode;
@ -62,6 +63,17 @@ public class RestClusterStateAction extends BaseRestHandler {
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
builder.startObject();
// nodes
builder.startObject("nodes");
builder.field("_master", state.nodes().masterNodeId());
for (DiscoveryNode node : state.nodes()) {
builder.startObject(node.id());
builder.field("name", node.name());
builder.field("transport_address", node.address().toString());
builder.endObject();
}
builder.endObject();
// meta data
builder.startObject("metadata");
builder.field("max_number_of_shards_per_node", state.metaData().maxNumberOfShardsPerNode());
@ -113,6 +125,7 @@ public class RestClusterStateAction extends BaseRestHandler {
jsonShardRouting(builder, shardRouting);
}
builder.endArray();
builder.startObject("nodes");
for (RoutingNode routingNode : state.readOnlyRoutingNodes()) {
builder.startArray(routingNode.nodeId());