diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 48557884a8893..0000000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/server/src/internalClusterTest/java/org/opensearch/nodestats/NodeStatsIT.java b/server/src/internalClusterTest/java/org/opensearch/nodestats/NodeStatsIT.java
index 08f09a1421fd7..4856f1228996b 100644
--- a/server/src/internalClusterTest/java/org/opensearch/nodestats/NodeStatsIT.java
+++ b/server/src/internalClusterTest/java/org/opensearch/nodestats/NodeStatsIT.java
@@ -332,58 +332,58 @@ public void testNodeIndicesStatsDefaultResponse() {
* Optimized behavior - to avoid unnecessary IO in the form of shard-stats when not required, we not honor the levels on the
* individual data nodes instead and pre-compute information as required.
*/
- public void testNodeIndicesStatsOptimizedResponse() {
- String testLevel = randomFrom("null", "node", "indices", "shards", "unknown");
- internalCluster().startNode();
- ensureGreen();
- String indexName = "test1";
- index(indexName, "type", "1", "f", "f");
- refresh();
-
- NodesStatsResponse response;
- CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
- commonStatsFlags.optimizeNodeIndicesStatsOnLevel(true);
- if (!testLevel.equals("null")) {
- ArrayList level_arg = new ArrayList<>();
- level_arg.add(testLevel);
-
- commonStatsFlags.setLevels(level_arg.toArray(new String[0]));
- }
- response = client().admin().cluster().prepareNodesStats().setIndices(commonStatsFlags).get();
-
- response.getNodes().forEach(nodeStats -> {
- try {
- XContentBuilder builder = XContentFactory.jsonBuilder();
- builder.startObject();
- builder = nodeStats.getIndices().toXContent(builder, new ToXContent.MapParams(Collections.singletonMap("level", "shards")));
- builder.endObject();
-
- Map xContentMap = xContentBuilderToMap(builder);
- LinkedHashMap indicesStatsMap = (LinkedHashMap) xContentMap.get("indices");
- LinkedHashMap indicesStats = (LinkedHashMap) indicesStatsMap.get("indices");
- LinkedHashMap shardStats = (LinkedHashMap) indicesStatsMap.get("shards");
-
- switch (testLevel) {
- case "shards":
- assertFalse(shardStats.isEmpty());
- assertFalse(indicesStats.isEmpty());
- break;
- case "indices":
- assertTrue(shardStats.isEmpty());
- assertFalse(indicesStats.isEmpty());
- break;
- case "node":
- case "null":
- case "unknown":
- assertTrue(shardStats.isEmpty());
- assertTrue(indicesStats.isEmpty());
- break;
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- });
- }
+// public void testNodeIndicesStatsOptimizedResponse() {
+// String testLevel = randomFrom("null", "node", "indices", "shards", "unknown");
+// internalCluster().startNode();
+// ensureGreen();
+// String indexName = "test1";
+// index(indexName, "type", "1", "f", "f");
+// refresh();
+//
+// NodesStatsResponse response;
+// CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
+// commonStatsFlags.optimizeNodeIndicesStatsOnLevel(true);
+// if (!testLevel.equals("null")) {
+// ArrayList level_arg = new ArrayList<>();
+// level_arg.add(testLevel);
+//
+// commonStatsFlags.setLevels(level_arg.toArray(new String[0]));
+// }
+// response = client().admin().cluster().prepareNodesStats().setIndices(commonStatsFlags).get();
+//
+// response.getNodes().forEach(nodeStats -> {
+// try {
+// XContentBuilder builder = XContentFactory.jsonBuilder();
+// builder.startObject();
+// builder = nodeStats.getIndices().toXContent(builder, new ToXContent.MapParams(Collections.singletonMap("level", "shards")));
+// builder.endObject();
+//
+// Map xContentMap = xContentBuilderToMap(builder);
+// LinkedHashMap indicesStatsMap = (LinkedHashMap) xContentMap.get("indices");
+// LinkedHashMap indicesStats = (LinkedHashMap) indicesStatsMap.get("indices");
+// LinkedHashMap shardStats = (LinkedHashMap) indicesStatsMap.get("shards");
+//
+// switch (testLevel) {
+// case "shards":
+// assertFalse(shardStats.isEmpty());
+// assertFalse(indicesStats.isEmpty());
+// break;
+// case "indices":
+// assertTrue(shardStats.isEmpty());
+// assertFalse(indicesStats.isEmpty());
+// break;
+// case "node":
+// case "null":
+// case "unknown":
+// assertTrue(shardStats.isEmpty());
+// assertTrue(indicesStats.isEmpty());
+// break;
+// }
+// } catch (IOException e) {
+// throw new RuntimeException(e);
+// }
+// });
+// }
private Map xContentBuilderToMap(XContentBuilder xContentBuilder) {
return XContentHelper.convertToMap(BytesReference.bytes(xContentBuilder), true, xContentBuilder.contentType()).v2();
diff --git a/server/src/main/java/org/opensearch/action/admin/cluster/node/stats/NodesStatsRequest.java b/server/src/main/java/org/opensearch/action/admin/cluster/node/stats/NodesStatsRequest.java
index 970c4340dd33b..689fe497751cf 100644
--- a/server/src/main/java/org/opensearch/action/admin/cluster/node/stats/NodesStatsRequest.java
+++ b/server/src/main/java/org/opensearch/action/admin/cluster/node/stats/NodesStatsRequest.java
@@ -127,15 +127,15 @@ public NodesStatsRequest indices(boolean indices) {
return this;
}
- /**
- * Use Optimized Response filtered based on level
- */
- public NodesStatsRequest useOptimizedNodeIndicesStats(boolean useOptimizedNodeIndicesStats) {
- if (this.indices != null) {
- this.indices.optimizeNodeIndicesStatsOnLevel(true);
- }
- return this;
- }
+// /**
+// * Use Optimized Response filtered based on level
+// */
+// public NodesStatsRequest useOptimizedNodeIndicesStats(boolean useOptimizedNodeIndicesStats) {
+// if (this.indices != null) {
+// this.indices.optimizeNodeIndicesStatsOnLevel(true);
+// }
+// return this;
+// }
/**
* Get the names of requested metrics, excluding indices, which are
diff --git a/server/src/main/java/org/opensearch/action/admin/indices/stats/CommonStatsFlags.java b/server/src/main/java/org/opensearch/action/admin/indices/stats/CommonStatsFlags.java
index faccdcf02362c..53425a3923d53 100644
--- a/server/src/main/java/org/opensearch/action/admin/indices/stats/CommonStatsFlags.java
+++ b/server/src/main/java/org/opensearch/action/admin/indices/stats/CommonStatsFlags.java
@@ -67,7 +67,7 @@ public class CommonStatsFlags implements Writeable, Cloneable {
// Used for metric CACHE_STATS, to determine which caches to report stats for
private EnumSet includeCaches = EnumSet.noneOf(CacheType.class);
private String[] levels = new String[0];
- private boolean optimizeNodeIndicesStatsOnLevel = false;
+// private boolean optimizeNodeIndicesStatsOnLevel = false;
/**
* @param flags flags to set. If no flags are supplied, default flags will be set.
@@ -101,9 +101,9 @@ public CommonStatsFlags(StreamInput in) throws IOException {
includeCaches = in.readEnumSet(CacheType.class);
levels = in.readStringArray();
}
- if (in.getVersion().onOrAfter(Version.V_2_16_0)) {
- optimizeNodeIndicesStatsOnLevel = in.readBoolean();
- }
+// if (in.getVersion().onOrAfter(Version.V_2_16_0)) {
+// optimizeNodeIndicesStatsOnLevel = in.readBoolean();
+// }
}
@Override
@@ -128,9 +128,9 @@ public void writeTo(StreamOutput out) throws IOException {
out.writeEnumSet(includeCaches);
out.writeStringArrayNullable(levels);
}
- if (out.getVersion().onOrAfter(Version.V_2_16_0)) {
- out.writeBoolean(optimizeNodeIndicesStatsOnLevel);
- }
+// if (out.getVersion().onOrAfter(Version.V_2_16_0)) {
+// out.writeBoolean(optimizeNodeIndicesStatsOnLevel);
+// }
}
/**
@@ -269,13 +269,13 @@ public boolean includeSegmentFileSizes() {
return this.includeSegmentFileSizes;
}
- public void optimizeNodeIndicesStatsOnLevel(boolean optimizeNodeIndicesStatsOnLevel) {
- this.optimizeNodeIndicesStatsOnLevel = optimizeNodeIndicesStatsOnLevel;
- }
-
- public boolean optimizeNodeIndicesStatsOnLevel() {
- return this.optimizeNodeIndicesStatsOnLevel;
- }
+// public void optimizeNodeIndicesStatsOnLevel(boolean optimizeNodeIndicesStatsOnLevel) {
+// this.optimizeNodeIndicesStatsOnLevel = optimizeNodeIndicesStatsOnLevel;
+// }
+//
+// public boolean optimizeNodeIndicesStatsOnLevel() {
+// return this.optimizeNodeIndicesStatsOnLevel;
+// }
public boolean isSet(Flag flag) {
return flags.contains(flag);
diff --git a/server/src/test/java/org/opensearch/action/admin/cluster/node/stats/NodeStatsTests.java b/server/src/test/java/org/opensearch/action/admin/cluster/node/stats/NodeStatsTests.java
index 88db8efff41b6..af60b79f1c5ef 100644
--- a/server/src/test/java/org/opensearch/action/admin/cluster/node/stats/NodeStatsTests.java
+++ b/server/src/test/java/org/opensearch/action/admin/cluster/node/stats/NodeStatsTests.java
@@ -1114,146 +1114,146 @@ public Map> getStatsByShard() {
}
}
- public void testNodeIndicesStatsSerializationWithOldESVersionNodes() throws IOException {
- long numDocs = randomLongBetween(0, 10000);
- long numDeletedDocs = randomLongBetween(0, 100);
- CommonStats commonStats = new CommonStats(CommonStatsFlags.NONE);
-
- commonStats.docs = new DocsStats(numDocs, numDeletedDocs, 0);
- commonStats.store = new StoreStats(100, 0L);
- commonStats.indexing = new IndexingStats();
-
- CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
- commonStatsFlags.clear();
- commonStatsFlags.set(CommonStatsFlags.Flag.Docs, true);
- commonStatsFlags.set(CommonStatsFlags.Flag.Store, true);
- commonStatsFlags.set(CommonStatsFlags.Flag.Indexing, true);
-
- Index newIndex = new Index("index", "_na_");
-
- MockNodeIndicesStats mockNodeIndicesStats = generateMockNodeIndicesStats(commonStats, newIndex, commonStatsFlags);
-
- // To test out scenario when the incoming node stats response is from a node with an older ES Version.
- try (BytesStreamOutput out = new BytesStreamOutput()) {
- out.setVersion(Version.V_2_13_0);
- mockNodeIndicesStats.writeTo(out);
- try (StreamInput in = out.bytes().streamInput()) {
- in.setVersion(Version.V_2_13_0);
- MockNodeIndicesStats newNodeIndicesStats = new MockNodeIndicesStats(in);
-
- List incomingIndexStats = newNodeIndicesStats.getStatsByShard().get(newIndex);
- incomingIndexStats.forEach(indexShardStats -> {
- ShardStats shardStats = Arrays.stream(indexShardStats.getShards()).findFirst().get();
- DocsStats incomingDocStats = shardStats.getStats().docs;
-
- DocsStats hostDocStats = new DocsStats(numDocs, numDeletedDocs, 0);
- assertEquals(incomingDocStats.getCount(), hostDocStats.getCount());
- assertEquals(incomingDocStats.getTotalSizeInBytes(), hostDocStats.getTotalSizeInBytes());
- assertEquals(incomingDocStats.getAverageSizeInBytes(), hostDocStats.getAverageSizeInBytes());
- assertEquals(incomingDocStats.getDeleted(), hostDocStats.getDeleted());
- });
- }
- }
- }
-
- public void testNodeIndicesStatsSerializationOnNewVersions() throws IOException {
- long numDocs = randomLongBetween(0, 10000);
- long numDeletedDocs = randomLongBetween(0, 100);
- String levelParam = randomFrom("node", "indices", "shards");
-
- CommonStats commonStats = new CommonStats(CommonStatsFlags.NONE);
-
- commonStats.docs = new DocsStats(numDocs, numDeletedDocs, 0);
- commonStats.store = new StoreStats(100, 0L);
- commonStats.indexing = new IndexingStats();
-
- CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
- commonStatsFlags.clear();
- commonStatsFlags.set(CommonStatsFlags.Flag.Docs, true);
- commonStatsFlags.set(CommonStatsFlags.Flag.Store, true);
- commonStatsFlags.set(CommonStatsFlags.Flag.Indexing, true);
- commonStatsFlags.optimizeNodeIndicesStatsOnLevel(true);
-
- ArrayList level_arg = new ArrayList<>();
- level_arg.add(levelParam);
-
- commonStatsFlags.setLevels(level_arg.toArray(new String[0]));
-
- Index newIndex = new Index("index", "_na_");
-
- MockNodeIndicesStats mockNodeIndicesStats = generateMockNodeIndicesStats(commonStats, newIndex, commonStatsFlags);
-
- // To test out scenario when the incoming node stats response is from a node with an older ES Version.
- try (BytesStreamOutput out = new BytesStreamOutput()) {
- mockNodeIndicesStats.writeTo(out);
- try (StreamInput in = out.bytes().streamInput()) {
- MockNodeIndicesStats newNodeIndicesStats = new MockNodeIndicesStats(in);
- switch (levelParam) {
- case "node":
- assertNull(newNodeIndicesStats.getStatsByIndex());
- assertNull(newNodeIndicesStats.getStatsByShard());
- break;
- case "indices":
- assertNull(newNodeIndicesStats.getStatsByShard());
- assertNotNull(newNodeIndicesStats.getStatsByIndex());
- break;
- case "shards":
- assertNull(newNodeIndicesStats.getStatsByIndex());
- assertNotNull(newNodeIndicesStats.getStatsByShard());
- break;
- }
- }
- }
- }
-
- public MockNodeIndicesStats generateMockNodeIndicesStats(CommonStats commonStats, Index index, CommonStatsFlags commonStatsFlags) {
- DiscoveryNode localNode = new DiscoveryNode("local", buildNewFakeTransportAddress(), Version.CURRENT);
- Map> statsByShard = new HashMap<>();
- List indexShardStatsList = new ArrayList<>();
- Index statsIndex = null;
- for (int i = 0; i < 2; i++) {
- ShardRoutingState shardRoutingState = ShardRoutingState.fromValue((byte) randomIntBetween(2, 3));
- ShardRouting shardRouting = TestShardRouting.newShardRouting(
- index.getName(),
- i,
- localNode.getId(),
- randomBoolean(),
- shardRoutingState
- );
-
- if (statsIndex == null) {
- statsIndex = shardRouting.shardId().getIndex();
- }
-
- Path path = createTempDir().resolve("indices")
- .resolve(shardRouting.shardId().getIndex().getUUID())
- .resolve(String.valueOf(shardRouting.shardId().id()));
-
- ShardStats shardStats = new ShardStats(
- shardRouting,
- new ShardPath(false, path, path, shardRouting.shardId()),
- commonStats,
- null,
- null,
- null
- );
- IndexShardStats indexShardStats = new IndexShardStats(shardRouting.shardId(), new ShardStats[] { shardStats });
- indexShardStatsList.add(indexShardStats);
- }
-
- statsByShard.put(statsIndex, indexShardStatsList);
-
- ClusterSettings clusterSettings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
-
- if (commonStatsFlags.optimizeNodeIndicesStatsOnLevel()) {
- return new MockNodeIndicesStats(
- new CommonStats(commonStatsFlags),
- statsByShard,
- new SearchRequestStats(clusterSettings),
- commonStatsFlags.getLevels()
- );
- } else {
- return new MockNodeIndicesStats(new CommonStats(commonStatsFlags), statsByShard, new SearchRequestStats(clusterSettings));
- }
- }
+// public void testNodeIndicesStatsSerializationWithOldESVersionNodes() throws IOException {
+// long numDocs = randomLongBetween(0, 10000);
+// long numDeletedDocs = randomLongBetween(0, 100);
+// CommonStats commonStats = new CommonStats(CommonStatsFlags.NONE);
+//
+// commonStats.docs = new DocsStats(numDocs, numDeletedDocs, 0);
+// commonStats.store = new StoreStats(100, 0L);
+// commonStats.indexing = new IndexingStats();
+//
+// CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
+// commonStatsFlags.clear();
+// commonStatsFlags.set(CommonStatsFlags.Flag.Docs, true);
+// commonStatsFlags.set(CommonStatsFlags.Flag.Store, true);
+// commonStatsFlags.set(CommonStatsFlags.Flag.Indexing, true);
+//
+// Index newIndex = new Index("index", "_na_");
+//
+// MockNodeIndicesStats mockNodeIndicesStats = generateMockNodeIndicesStats(commonStats, newIndex, commonStatsFlags);
+//
+// // To test out scenario when the incoming node stats response is from a node with an older ES Version.
+// try (BytesStreamOutput out = new BytesStreamOutput()) {
+// out.setVersion(Version.V_2_13_0);
+// mockNodeIndicesStats.writeTo(out);
+// try (StreamInput in = out.bytes().streamInput()) {
+// in.setVersion(Version.V_2_13_0);
+// MockNodeIndicesStats newNodeIndicesStats = new MockNodeIndicesStats(in);
+//
+// List incomingIndexStats = newNodeIndicesStats.getStatsByShard().get(newIndex);
+// incomingIndexStats.forEach(indexShardStats -> {
+// ShardStats shardStats = Arrays.stream(indexShardStats.getShards()).findFirst().get();
+// DocsStats incomingDocStats = shardStats.getStats().docs;
+//
+// DocsStats hostDocStats = new DocsStats(numDocs, numDeletedDocs, 0);
+// assertEquals(incomingDocStats.getCount(), hostDocStats.getCount());
+// assertEquals(incomingDocStats.getTotalSizeInBytes(), hostDocStats.getTotalSizeInBytes());
+// assertEquals(incomingDocStats.getAverageSizeInBytes(), hostDocStats.getAverageSizeInBytes());
+// assertEquals(incomingDocStats.getDeleted(), hostDocStats.getDeleted());
+// });
+// }
+// }
+// }
+
+// public void testNodeIndicesStatsSerializationOnNewVersions() throws IOException {
+// long numDocs = randomLongBetween(0, 10000);
+// long numDeletedDocs = randomLongBetween(0, 100);
+// String levelParam = randomFrom("node", "indices", "shards");
+//
+// CommonStats commonStats = new CommonStats(CommonStatsFlags.NONE);
+//
+// commonStats.docs = new DocsStats(numDocs, numDeletedDocs, 0);
+// commonStats.store = new StoreStats(100, 0L);
+// commonStats.indexing = new IndexingStats();
+//
+// CommonStatsFlags commonStatsFlags = new CommonStatsFlags();
+// commonStatsFlags.clear();
+// commonStatsFlags.set(CommonStatsFlags.Flag.Docs, true);
+// commonStatsFlags.set(CommonStatsFlags.Flag.Store, true);
+// commonStatsFlags.set(CommonStatsFlags.Flag.Indexing, true);
+// commonStatsFlags.optimizeNodeIndicesStatsOnLevel(true);
+//
+// ArrayList level_arg = new ArrayList<>();
+// level_arg.add(levelParam);
+//
+// commonStatsFlags.setLevels(level_arg.toArray(new String[0]));
+//
+// Index newIndex = new Index("index", "_na_");
+//
+// MockNodeIndicesStats mockNodeIndicesStats = generateMockNodeIndicesStats(commonStats, newIndex, commonStatsFlags);
+//
+// // To test out scenario when the incoming node stats response is from a node with an older ES Version.
+// try (BytesStreamOutput out = new BytesStreamOutput()) {
+// mockNodeIndicesStats.writeTo(out);
+// try (StreamInput in = out.bytes().streamInput()) {
+// MockNodeIndicesStats newNodeIndicesStats = new MockNodeIndicesStats(in);
+// switch (levelParam) {
+// case "node":
+// assertNull(newNodeIndicesStats.getStatsByIndex());
+// assertNull(newNodeIndicesStats.getStatsByShard());
+// break;
+// case "indices":
+// assertNull(newNodeIndicesStats.getStatsByShard());
+// assertNotNull(newNodeIndicesStats.getStatsByIndex());
+// break;
+// case "shards":
+// assertNull(newNodeIndicesStats.getStatsByIndex());
+// assertNotNull(newNodeIndicesStats.getStatsByShard());
+// break;
+// }
+// }
+// }
+// }
+
+// public MockNodeIndicesStats generateMockNodeIndicesStats(CommonStats commonStats, Index index, CommonStatsFlags commonStatsFlags) {
+// DiscoveryNode localNode = new DiscoveryNode("local", buildNewFakeTransportAddress(), Version.CURRENT);
+// Map> statsByShard = new HashMap<>();
+// List indexShardStatsList = new ArrayList<>();
+// Index statsIndex = null;
+// for (int i = 0; i < 2; i++) {
+// ShardRoutingState shardRoutingState = ShardRoutingState.fromValue((byte) randomIntBetween(2, 3));
+// ShardRouting shardRouting = TestShardRouting.newShardRouting(
+// index.getName(),
+// i,
+// localNode.getId(),
+// randomBoolean(),
+// shardRoutingState
+// );
+//
+// if (statsIndex == null) {
+// statsIndex = shardRouting.shardId().getIndex();
+// }
+//
+// Path path = createTempDir().resolve("indices")
+// .resolve(shardRouting.shardId().getIndex().getUUID())
+// .resolve(String.valueOf(shardRouting.shardId().id()));
+//
+// ShardStats shardStats = new ShardStats(
+// shardRouting,
+// new ShardPath(false, path, path, shardRouting.shardId()),
+// commonStats,
+// null,
+// null,
+// null
+// );
+// IndexShardStats indexShardStats = new IndexShardStats(shardRouting.shardId(), new ShardStats[] { shardStats });
+// indexShardStatsList.add(indexShardStats);
+// }
+//
+// statsByShard.put(statsIndex, indexShardStatsList);
+//
+// ClusterSettings clusterSettings = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS);
+//
+// if (commonStatsFlags.optimizeNodeIndicesStatsOnLevel()) {
+// return new MockNodeIndicesStats(
+// new CommonStats(commonStatsFlags),
+// statsByShard,
+// new SearchRequestStats(clusterSettings),
+// commonStatsFlags.getLevels()
+// );
+// } else {
+// return new MockNodeIndicesStats(new CommonStats(commonStatsFlags), statsByShard, new SearchRequestStats(clusterSettings));
+// }
+// }
}