appsmithorg/appsmith · error · AppsmithPluginException
PE-DSE-5003
PE-DSE-5003
Error message
Appsmith server has found an unexpected SSL option: %s. Please reach out to Appsmith customer support to resolve this.
What it means
Thrown by ArangoDB SSLUtils when the SSL auth mode switch hits default — i.e. the SSLDetails.AuthType is not DEFAULT/ENABLED/DISABLED. This is a defensive guard for an unmapped enum value. Code PE-DSE-5003 (PLUGIN_DATASOURCE_ARGUMENT_ERROR); the %s is the offending authType.
Source
Thrown at app/server/appsmith-plugins/arangoDBPlugin/src/main/java/com/external/utils/SSLUtils.java:50
return false;
}
public static void setSSLParam(Builder builder, SSLDetails.AuthType authType) {
switch (authType) {
case DEFAULT:
/* do nothing i.e. use default driver setting */
break;
case ENABLED:
builder.useSsl(true);
break;
case DISABLED:
builder.useSsl(false);
break;
default:
throw new AppsmithPluginException(
AppsmithPluginError.PLUGIN_DATASOURCE_ARGUMENT_ERROR,
String.format(ArangoDBErrorMessages.UNEXPECTED_SSL_OPTION_ERROR_MSG, authType));
}
}
public static void setSSLContext(Builder builder, DatasourceConfiguration datasourceConfiguration) {
SSLDetails.CACertificateType caCertificateType =
datasourceConfiguration.getConnection().getSsl().getCaCertificateType();
switch (caCertificateType) {
case NONE:
/* do nothing */
break;
case FILE:
case BASE64_STRING:
try {View on GitHub (pinned to 8cd9021c24)
Solutions
- Set the SSL auth mode to DEFAULT, ENABLED, or DISABLED in the datasource configuration.
- Update the ArangoDB plugin to a version whose AuthType handling matches the configured value.
- If you extended the AuthType enum, add a matching case to the switch in SSLUtils.
Example fix
// before: datasource ssl authType = SOME_NEW_MODE (unhandled) // after sslDetails.setAuthType(SSLDetails.AuthType.ENABLED);
Defensive patterns
Strategy: validation
Validate before calling
Set<SSLDetails.AuthType> allowed = EnumSet.of(
SSLDetails.AuthType.DEFAULT,
SSLDetails.AuthType.ENABLED,
SSLDetails.AuthType.DISABLED);
if (!allowed.contains(authType)) {
return errorResult("Unexpected SSL auth type: " + authType);
} Type guard
boolean isKnownAuthType(SSLDetails.AuthType t) {
return t == SSLDetails.AuthType.DEFAULT
|| t == SSLDetails.AuthType.ENABLED
|| t == SSLDetails.AuthType.DISABLED;
} Try / catch
try {
SSLUtils.setSSLAuthType(builder, datasourceConfiguration);
} catch (AppsmithPluginException e) {
if (e.getMessage().contains("unexpected SSL option")) {
// reset authType to DEFAULT and retry
}
} Prevention
- Restrict the SSL auth-mode selector to DEFAULT/ENABLED/DISABLED in the UI.
- When extending the AuthType enum, add a case to the SSLUtils switch in the same change.
- Keep plugin and datasource-form schema versions in sync.
When it happens
Trigger: Datasource SSL configuration carries an AuthType value the plugin's switch does not recognise (e.g. a newly added enum constant, or a corrupted/null-adjacent value).
Common situations: Plugin version older/newer than the form schema that produced the AuthType; custom/templated datasource config injecting an unexpected auth mode; enum extended without updating SSLUtils.
Understand the failure class
- SSL/TLS and certificate errors — how TLS handshakes and certificate validation fail.
Related errors
AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12).
Data as JSON: /api/errors/19a1ed721216f767.
Report an issue: GitHub.