Skip to content

Commit

Permalink
Handled exceptions
Browse files Browse the repository at this point in the history
Signed-off-by: Owais Kazi <owaiskazi19@gmail.com>
  • Loading branch information
owaiskazi19 committed Jun 21, 2023
1 parent 65cb7fb commit 183a157
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

import org.apache.logging.log4j.LogManager;
Expand Down Expand Up @@ -292,26 +291,19 @@ private void registerRequestHandler(DynamicActionRegistry dynamicActionRegistry)
* @param extension The extension to be loaded
*/
public void loadExtension(Extension extension) throws IOException {
try {
validateExtension(extension);
DiscoveryExtensionNode discoveryExtensionNode = new DiscoveryExtensionNode(
extension.getName(),
extension.getUniqueId(),
new TransportAddress(InetAddress.getByName(extension.getHostAddress()), Integer.parseInt(extension.getPort())),
new HashMap<String, String>(),
Version.fromString(extension.getOpensearchVersion()),
Version.fromString(extension.getMinimumCompatibleVersion()),
extension.getDependencies()
);
extensionIdMap.put(extension.getUniqueId(), discoveryExtensionNode);
extensionSettingsMap.put(extension.getUniqueId(), extension);
logger.info("Loaded extension with uniqueId " + extension.getUniqueId() + ": " + extension);
} catch (IOException e) {
throw e;
} catch (IllegalArgumentException e) {
throw e;
}

validateExtension(extension);
DiscoveryExtensionNode discoveryExtensionNode = new DiscoveryExtensionNode(
extension.getName(),
extension.getUniqueId(),
new TransportAddress(InetAddress.getByName(extension.getHostAddress()), Integer.parseInt(extension.getPort())),
new HashMap<String, String>(),
Version.fromString(extension.getOpensearchVersion()),
Version.fromString(extension.getMinimumCompatibleVersion()),
extension.getDependencies()
);
extensionIdMap.put(extension.getUniqueId(), discoveryExtensionNode);
extensionSettingsMap.put(extension.getUniqueId(), extension);
logger.info("Loaded extension with uniqueId " + extension.getUniqueId() + ": " + extension);
}

private void validateField(String fieldName, String value) throws IOException {
Expand All @@ -329,7 +321,7 @@ private void validateExtension(Extension extension) throws IOException {
validateField("opensearch version", extension.getOpensearchVersion());
validateField("minimum opensearch version", extension.getMinimumCompatibleVersion());
if (extensionIdMap.containsKey(extension.getUniqueId())) {
throw new IOException("Duplicate uniqueId " + extension.getUniqueId() + ". Did not load extension: " + extension);
throw new IOException("Duplicate uniqueId [" + extension.getUniqueId() + "]. Did not load extension: " + extension);
}
}

Expand Down Expand Up @@ -404,7 +396,6 @@ protected void doRun() throws Exception {
new InitializeExtensionRequest(transportService.getLocalNode(), extension),
initializeExtensionResponseHandler
);
inProgressFuture.orTimeout(EXTENSION_REQUEST_WAIT_TIMEOUT, TimeUnit.SECONDS).join();
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,12 @@ public RestChannelConsumer prepareRequest(RestRequest request, NodeClient client
} else if ("dependencies".equals(currentFieldName)) {
ensureExpectedToken(XContentParser.Token.START_ARRAY, parser.currentToken(), parser);
while (parser.nextToken() != XContentParser.Token.END_ARRAY) {
try {
dependencies.add(ExtensionDependency.parse(parser));
} catch (IOException e) {
throw e;
}
dependencies.add(ExtensionDependency.parse(parser));
}
}
}
} catch (IOException e) {
throw new IOException("Missing attribute", e);
}

Extension extension = new Extension(
Expand Down

0 comments on commit 183a157

Please sign in to comment.