diff --git a/server/src/main/java/org/elasticsearch/rest/action/cat/RestPluginsAction.java b/server/src/main/java/org/elasticsearch/rest/action/cat/RestPluginsAction.java index 9a50deee98c8e..9eab96a9a6f2d 100644 --- a/server/src/main/java/org/elasticsearch/rest/action/cat/RestPluginsAction.java +++ b/server/src/main/java/org/elasticsearch/rest/action/cat/RestPluginsAction.java @@ -22,6 +22,7 @@ import org.elasticsearch.action.admin.cluster.node.info.NodeInfo; import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest; import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse; +import org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules; import org.elasticsearch.action.admin.cluster.state.ClusterStateRequest; import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse; import org.elasticsearch.client.node.NodeClient; @@ -97,8 +98,14 @@ private Table buildTable(RestRequest req, ClusterStateResponse state, NodesInfoR for (DiscoveryNode node : nodes) { NodeInfo info = nodesInfo.getNodesMap().get(node.getId()); - - for (PluginInfo pluginInfo : info.getPlugins().getPluginInfos()) { + if (info == null) { + continue; + } + PluginsAndModules plugins = info.getPlugins(); + if (plugins == null) { + continue; + } + for (PluginInfo pluginInfo : plugins.getPluginInfos()) { table.startRow(); table.addCell(node.getId()); table.addCell(node.getName());