{"record":{"id":"4dbb94fdd3270448","repo":"apache/seatunnel","slug":"unsupported-authentication-type-config-getauthe","errorCode":null,"errorMessage":"Unsupported authentication_type: ${config.getAuthenticationType()}","messagePattern":"Unsupported authentication_type: (.+?)","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-azure-queue-storage/src/main/java/org/apache/seatunnel/connectors/seatunnel/azure/queue/config/AzureQueueConfigValidator.java","lineNumber":77,"sourceCode":"                rejectPresent(\n                        config.getConnectionString(),\n                        \"connection_string\",\n                        config.getSasToken(),\n                        \"sas_token\");\n                break;\n            case SAS_TOKEN:\n                requireNonBlank(config.getEndpoint(), \"endpoint\");\n                requireNonBlank(config.getSasToken(), \"sas_token\");\n                rejectPresent(\n                        config.getConnectionString(),\n                        \"connection_string\",\n                        config.getAccountName(),\n                        \"account_name\",\n                        config.getAccountKey(),\n                        \"account_key\");\n                break;\n            default:\n                throw new IllegalArgumentException(\n                        \"Unsupported authentication_type: \" + config.getAuthenticationType());\n        }\n    }\n\n    static void requireNonBlank(String value, String option) {\n        if (value == null || value.trim().isEmpty()) {\n            throw new IllegalArgumentException(\"Option '\" + option + \"' cannot be blank\");\n        }\n    }\n\n    private static void rejectPresent(Object... valuesAndOptions) {\n        for (int index = 0; index < valuesAndOptions.length; index += 2) {\n            if (valuesAndOptions[index] != null) {\n                throw new IllegalArgumentException(\n                        \"Option '\"\n                                + valuesAndOptions[index + 1]\n                                + \"' is not valid for the selected authentication_type\");\n            }","sourceCodeStart":59,"sourceCodeEnd":95,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-azure-queue-storage/src/main/java/org/apache/seatunnel/connectors/seatunnel/azure/queue/config/AzureQueueConfigValidator.java#L59-L95","documentation":"AzureQueueConfigValidator.validateClient's credential switch reaches default when authentication_type holds an unrecognized enum constant. Unlike error 266 (thrown later at client build time), this fires during validation, immediately rejecting the config with the offending value in the message.","triggerScenarios":"validateClient called with an authenticationType that is non-null but not one of CONNECTION_STRING, STORAGE_SHARED_KEY, SAS_TOKEN — e.g. a value from a newer/newer-removed enum version or programmatically constructed enum constant.","commonSituations":"Config value mapped to an enum in a different connector version; mixed jar versions between seatunnel distribution and connector plugin; reflection-based enum parsing admitting an unknown constant.","solutions":["Set authentication_type to CONNECTION_STRING, STORAGE_SHARED_KEY, or SAS_TOKEN","Align the connector plugin version with the SeaTunnel engine version (remove stale jars)","Check the enum in AzureQueueAuthenticationType for the exact accepted names in your version"],"exampleFix":"// before\nauthentication_type = SHARED_KEY (unknown constant)\n// after\nauthentication_type = STORAGE_SHARED_KEY","handlingStrategy":"validation","validationCode":"Set<String> allowed = Set.of(\"CONNECTION_STRING\", \"STORAGE_SHARED_KEY\", \"SAS_TOKEN\");\nif (raw != null && !allowed.contains(raw.trim())) {\n  throw new IllegalArgumentException(\"authentication_type must be one of \" + allowed + \", got \" + raw);\n}","typeGuard":null,"tryCatchPattern":"try { validate(config); } catch (IllegalArgumentException e) { if (e.getMessage().startsWith(\"Unsupported authentication_type\")) { log.error(\"Bad authentication_type value: {}\", e.getMessage()); } throw e; }","preventionTips":["Use exact enum names (uppercase, underscores) for authentication_type","Keep plugin jars and engine distribution at the same version so enum constants match","List allowed values in your internal config docs and lint against them"],"tags":["azure-queue-storage","validation","unsupported-enum"],"backgroundTag":"invalid-enum-value","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}