Skip to content

Commit 279dbbe

Browse files
committedFeb 20, 2024·

File tree

3 files changed

+39
-13
lines changed

3 files changed

+39
-13
lines changed
 

‎server/src/main/java/org/opensearch/cluster/metadata/TemplatesMetadata.java

+10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
import java.util.Map;
2121
import java.util.Objects;
2222

23+
/**
24+
* Metadata for legacy templates
25+
*
26+
* @opensearch.internal
27+
*/
2328
public class TemplatesMetadata extends AbstractDiffable<TemplatesMetadata> implements ToXContentFragment {
2429
public static TemplatesMetadata EMPTY_METADATA = builder().build();
2530
private final Map<String, IndexTemplateMetadata> templates;
@@ -73,6 +78,11 @@ public int hashCode() {
7378
return templates != null ? templates.hashCode() : 0;
7479
}
7580

81+
/**
82+
* Builder for the templates metadata
83+
*
84+
* @opensearch.api
85+
*/
7686
public static class Builder {
7787
private final Map<String, IndexTemplateMetadata> templates;
7888

‎server/src/main/java/org/opensearch/gateway/remote/ClusterMetadataManifest.java

+20-2
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ private static void declareParser(ConstructingObjectParser<ClusterMetadataManife
227227
UPLOADED_TEMPLATES_METADATA
228228
);
229229
parser.declareNamedObjects(
230-
ConstructingObjectParser.constructorArg(),
230+
ConstructingObjectParser.optionalConstructorArg(),
231231
UploadedMetadataAttribute.PARSER,
232232
UPLOADED_CUSTOM_METADATA
233233
);
@@ -732,9 +732,22 @@ public ClusterMetadataManifest build() {
732732

733733
}
734734

735-
public static interface UploadedMetadata {
735+
/**
736+
* Interface representing uploaded metadata
737+
*/
738+
public interface UploadedMetadata {
739+
/**
740+
* Gets the component or part of the system this upload belongs to.
741+
*
742+
* @return A string identifying the component
743+
*/
736744
String getComponent();
737745

746+
/**
747+
* Gets the name of the file that was uploaded
748+
*
749+
* @return The name of the uploaded file as a string
750+
*/
738751
String getUploadedFilename();
739752
}
740753

@@ -855,6 +868,11 @@ public static UploadedIndexMetadata fromXContent(XContentParser parser) throws I
855868
}
856869
}
857870

871+
/**
872+
* Metadata for uploaded metadata attribute
873+
*
874+
* @opensearch.internal
875+
*/
858876
public static class UploadedMetadataAttribute implements UploadedMetadata, Writeable, ToXContentFragment {
859877
private static final ParseField UPLOADED_FILENAME_FIELD = new ParseField("uploaded_filename");
860878

‎server/src/main/java/org/opensearch/gateway/remote/RemoteClusterStateService.java

+9-11
Original file line numberDiff line numberDiff line change
@@ -575,14 +575,14 @@ private UploadedMetadataResults writeMetadataInParallel(
575575
throw exception;
576576
}
577577
UploadedMetadataResults response = new UploadedMetadataResults();
578-
for (Map.Entry<String, ClusterMetadataManifest.UploadedMetadata> entry : results.entrySet()) {
579-
final String name = entry.getKey();
580-
final ClusterMetadataManifest.UploadedMetadata uploadedMetadata = entry.getValue();
578+
results.forEach((name, uploadedMetadata) -> {
581579
if (uploadedMetadata.getClass().equals(UploadedIndexMetadata.class)) {
582580
response.uploadedIndexMetadata.add((UploadedIndexMetadata) uploadedMetadata);
583581
} else if (uploadedMetadata.getComponent().contains(CUSTOM_METADATA)) {
584582
// component name for custom metadata will look like custom__<metadata-attribute>
585-
response.uploadedCustomMetadataMap.put(name.split(DELIMITER)[1], (UploadedMetadataAttribute) uploadedMetadata);
583+
String custom = name.split(DELIMITER)[1];
584+
response.uploadedCustomMetadataMap.put(custom,
585+
new UploadedMetadataAttribute(custom, uploadedMetadata.getUploadedFilename()));
586586
} else if (COORDINATION_METADATA.equals(uploadedMetadata.getComponent())) {
587587
response.uploadedCoordinationMetadata = (UploadedMetadataAttribute) uploadedMetadata;
588588
} else if (SETTING_METADATA.equals(uploadedMetadata.getComponent())) {
@@ -592,7 +592,7 @@ private UploadedMetadataResults writeMetadataInParallel(
592592
} else {
593593
throw new IllegalStateException("Unexpected metadata component " + uploadedMetadata.getComponent());
594594
}
595-
}
595+
});
596596
return response;
597597
}
598598

@@ -957,7 +957,7 @@ private static String globalMetadataFileName(Metadata metadata) {
957957
}
958958

959959
private static String metadataAttributeFileName(String componentPrefix, Long metadataVersion) {
960-
// 123456789012_test-cluster/cluster-state/dsgYj10Nkso7/global-metadata/settings__<inverted_metadata_version>__<inverted__timestamp>__<codec_version>
960+
// 123456789012_test-cluster/cluster-state/dsgYj10Nkso7/global-metadata/<componentPrefix>__<inverted_metadata_version>__<inverted__timestamp>__<codec_version>
961961
return String.join(
962962
DELIMITER,
963963
componentPrefix,
@@ -1081,10 +1081,8 @@ private Metadata getGlobalMetadata(String clusterName, String clusterUUID, Clust
10811081
builder.coordinationMetadata(coordinationMetadata);
10821082
builder.persistentSettings(settingsMetadata);
10831083
builder.templates(templatesMetadata);
1084-
clusterMetadataManifest.getCustomMetadataMap().forEach((key, value) -> {
1085-
String custom = key.split(DELIMITER)[1];
1086-
builder.putCustom(custom, getCustomsMetadata(clusterName, clusterUUID, value.getUploadedFilename(), custom));
1087-
});
1084+
clusterMetadataManifest.getCustomMetadataMap().forEach((key, value) ->
1085+
builder.putCustom(key, getCustomsMetadata(clusterName, clusterUUID, value.getUploadedFilename(), key)));
10881086
return builder.build();
10891087
} else {
10901088
return Metadata.EMPTY_METADATA;
@@ -1099,7 +1097,7 @@ private Metadata getGlobalMetadata(String clusterName, String clusterUUID, Clust
10991097

11001098
private CoordinationMetadata getCoordinationMetadata(String clusterName, String clusterUUID, String coordinationMetadataFileName) {
11011099
try {
1102-
// Fetch Coordintaion metadata
1100+
// Fetch Coordination metadata
11031101
if (coordinationMetadataFileName != null) {
11041102
String[] splitPath = coordinationMetadataFileName.split("/");
11051103
return COORDINATION_METADATA_FORMAT.read(

0 commit comments

Comments
 (0)
Please sign in to comment.