{"record":{"id":"19a1ed721216f767","repo":"appsmithorg/appsmith","slug":"pe-dse-5003-19a1ed","errorCode":"PE-DSE-5003","errorMessage":"Appsmith server has found an unexpected SSL option: %s. Please reach out to Appsmith customer support to resolve this.","messagePattern":"Appsmith server has found an unexpected SSL option: (.+?)\\. Please reach out to Appsmith customer support to resolve this\\.","errorType":"exception","errorClass":"AppsmithPluginException","httpStatus":500,"severity":"error","filePath":"app/server/appsmith-plugins/arangoDBPlugin/src/main/java/com/external/utils/SSLUtils.java","lineNumber":50,"sourceCode":"        return false;\n    }\n\n    public static void setSSLParam(Builder builder, SSLDetails.AuthType authType) {\n        switch (authType) {\n            case DEFAULT:\n                /* do nothing i.e. use default driver setting */\n\n                break;\n            case ENABLED:\n                builder.useSsl(true);\n\n                break;\n            case DISABLED:\n                builder.useSsl(false);\n\n                break;\n            default:\n                throw new AppsmithPluginException(\n                        AppsmithPluginError.PLUGIN_DATASOURCE_ARGUMENT_ERROR,\n                        String.format(ArangoDBErrorMessages.UNEXPECTED_SSL_OPTION_ERROR_MSG, authType));\n        }\n    }\n\n    public static void setSSLContext(Builder builder, DatasourceConfiguration datasourceConfiguration) {\n\n        SSLDetails.CACertificateType caCertificateType =\n                datasourceConfiguration.getConnection().getSsl().getCaCertificateType();\n\n        switch (caCertificateType) {\n            case NONE:\n                /* do nothing */\n\n                break;\n            case FILE:\n            case BASE64_STRING:\n                try {","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/appsmithorg/appsmith/blob/8cd9021c24cdbea1c3c12c966073708e83db60c2/app/server/appsmith-plugins/arangoDBPlugin/src/main/java/com/external/utils/SSLUtils.java#L32-L68","documentation":"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.","triggerScenarios":"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).","commonSituations":"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.","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."],"exampleFix":"// before: datasource ssl authType = SOME_NEW_MODE (unhandled)\n// after\nsslDetails.setAuthType(SSLDetails.AuthType.ENABLED);","handlingStrategy":"validation","validationCode":"Set<SSLDetails.AuthType> allowed = EnumSet.of(\n    SSLDetails.AuthType.DEFAULT,\n    SSLDetails.AuthType.ENABLED,\n    SSLDetails.AuthType.DISABLED);\nif (!allowed.contains(authType)) {\n    return errorResult(\"Unexpected SSL auth type: \" + authType);\n}","typeGuard":"boolean isKnownAuthType(SSLDetails.AuthType t) {\n    return t == SSLDetails.AuthType.DEFAULT\n        || t == SSLDetails.AuthType.ENABLED\n        || t == SSLDetails.AuthType.DISABLED;\n}","tryCatchPattern":"try {\n    SSLUtils.setSSLAuthType(builder, datasourceConfiguration);\n} catch (AppsmithPluginException e) {\n    if (e.getMessage().contains(\"unexpected SSL option\")) {\n        // reset authType to DEFAULT and retry\n    }\n}","preventionTips":["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."],"tags":["arangodb","appsmith","ssl","datasource","configuration"],"backgroundTag":null,"analyzedSha":"8cd9021c24cdbea1c3c12c966073708e83db60c2","analyzedAt":"2026-08-12T22:14:19.293Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}