{"record":{"id":"651259e7c78def8f","repo":"apache/pulsar","slug":"the-driver-s-is-not-supported-possible-values","errorCode":null,"errorMessage":"The driver %s is not supported, (Possible values: %s).","messagePattern":"The driver (.+?) is not supported, \\(Possible values: (.+?)\\)\\.","errorType":"validation","errorClass":"ParameterException","httpStatus":null,"severity":"error","filePath":"pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdNamespaces.java","lineNumber":2346,"sourceCode":"        public final List<String> driverNames = OffloadPoliciesImpl.DRIVER_NAMES;\n\n        public boolean driverSupported(String driver) {\n            return driverNames.stream().anyMatch(d -> d.equalsIgnoreCase(driver));\n        }\n\n        public boolean isS3Driver(String driver) {\n            if (StringUtils.isEmpty(driver)) {\n                return false;\n            }\n            return driver.equalsIgnoreCase(driverNames.get(0)) || driver.equalsIgnoreCase(driverNames.get(1));\n        }\n\n        @Override\n        void run() throws PulsarAdminException {\n            String namespace = validateNamespace(namespaceName);\n\n            if (!driverSupported(driver)) {\n                throw new ParameterException(\"The driver \" + driver + \" is not supported, \"\n                        + \"(Possible values: \" + String.join(\",\", driverNames) + \").\");\n            }\n\n            if (isS3Driver(driver) && Strings.isNullOrEmpty(region) && Strings.isNullOrEmpty(endpoint)) {\n                throw new ParameterException(\n                        \"Either s3ManagedLedgerOffloadRegion or s3ManagedLedgerOffloadServiceEndpoint must be set\"\n                                + \" if s3 offload enabled\");\n            }\n\n            OffloadedReadPriority offloadedReadPriority = OffloadPoliciesImpl.DEFAULT_OFFLOADED_READ_PRIORITY;\n            if (this.offloadReadPriorityStr != null) {\n                try {\n                    offloadedReadPriority = OffloadedReadPriority.fromString(this.offloadReadPriorityStr);\n                } catch (Exception e) {\n                    throw new ParameterException(\"--offloadedReadPriority parameter must be one of \"\n                            + Arrays.stream(OffloadedReadPriority.values())\n                            .map(OffloadedReadPriority::toString)\n                            .collect(Collectors.joining(\",\"))","sourceCodeStart":2328,"sourceCodeEnd":2364,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdNamespaces.java#L2328-L2364","documentation":"Thrown by the 'set-offload-policies' namespace command when the specified offload driver is not among the supported driverNames (e.g. S3, aws-sdk, azureblob, google-cloud-storage depending on build). driverSupported(driver) checks the driver string against the registered driver list; an unsupported or misspelled name yields this ParameterException listing valid values. A related check also requires S3-family drivers to have a region or service endpoint.","triggerScenarios":"Running set-offload-policies with --driver set to a name not in the supported list, e.g. 's3' when the build expects 'aws-sdk', 'filesystem' in a build without it, or a typo like 'GCS' vs 'google-cloud-storage'.","commonSituations":"Copy-pasting driver names from older Pulsar docs where names changed (s3 -> aws-sdk); running a distribution built without an optional offloader bundled; wrong case ('S3' vs lowercase name).","solutions":["Use one of the driver names printed in the error message exactly (e.g. aws-sdk, google-cloud-storage, azureblob, filesystem as applicable).","Match the names shown by --help / the error output rather than docs for other Pulsar versions.","If the needed driver is genuinely absent, install/copy the corresponding offloader nar into the broker's offloaders directory or use a distribution that bundles it.","For S3-family drivers, also supply --region or --s3-endpoint to pass the follow-up validation."],"exampleFix":"// before\npulsar-admin namespaces set-offload-policies public/default --driver s3 --bucket my-bucket --region us-east-1\n// after\npulsar-admin namespaces set-offload-policies public/default --driver aws-sdk --bucket my-bucket --region us-east-1","handlingStrategy":"validation","validationCode":"DRIVER=\"$1\"\nSUPPORTED=\"aws-sdk google-cloud-storage azureblob filesystem\"  # confirm with your error output/--help\n[[ \" $SUPPORTED \" == *\" $DRIVER \"* ]] || { echo \"unsupported driver: $DRIVER\"; exit 1; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy driver names from the error's possible-values list or --help, not from older docs.","Pin driver names per Pulsar version; they changed over releases (s3 -> aws-sdk).","Ensure the matching offloader nar is installed on brokers before configuring the policy.","For S3-family drivers always supply --region or an S3 endpoint."],"tags":["cli","configuration","offload","pulsar-admin"],"backgroundTag":"unsupported-driver","analyzedSha":"820761864ed8e2a7d2e52dd9763ad2ae117c1395","analyzedAt":"2026-09-06T00:14:20.138Z","contentChangedAt":"2026-09-06T00:14:20.138Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}