{"record":{"id":"8cfc8ddcc424f788","repo":"apache/pulsar","slug":"the-driver-driver-is-not-supported-possible-v-8cfc8d","errorCode":null,"errorMessage":"The driver ${driver} is not supported, (Possible values: ${driverNames}).","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/CmdTopics.java","lineNumber":2112,"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 persistentTopic = validatePersistentTopic(topicName);\n\n            if (!driverSupported(driver)) {\n                throw new ParameterException(\n                  \"The driver \" + driver + \" is not supported, \"\n                    + \"(Possible values: \" + String.join(\",\", driverNames) + \").\");\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":2094,"sourceCodeEnd":2130,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java#L2094-L2130","documentation":"The offload command (set-offload-policies) validates the --driver value against the supported driver list before applying offload policies. If driverSupported(driver) returns false, it throws a ParameterException listing the allowed driver names. This prevents submitting an offload driver the broker cannot load.","triggerScenarios":"Running `pulsar-admin topics set-offload-policies <topic> --driver <name>` where <name> is misspelled or not in the supported set (e.g. `s3` vs `aws-s3`, `filesystem`, `azureblob`, `google-cloud-storage`).","commonSituations":"Copying driver names from docs of a different Pulsar version; typos like `S3` (case sensitivity); using a driver bundled only on the broker but not registered in the CLI's supported list.","solutions":["Use one of the driver names printed in the error message, e.g. `--driver aws-s3`.","Check supported names via the error's Possible values list or the OffloadedStoragePrefix docs for your Pulsar version.","If the driver genuinely should be supported, verify broker and CLI versions match and the offloader bundle is installed."],"exampleFix":"// before\nbin/pulsar-admin topics set-offload-policies my-topic --driver s3 --bucket my-bucket\n// after\nbin/pulsar-admin topics set-offload-policies my-topic --driver aws-s3 --bucket my-bucket --region us-east-1","handlingStrategy":"validation","validationCode":"// validate driver against the supported set\nSUPPORTED=\"aws-s3,s3,google-cloud-storage,azureblob,filesystem\"\nif ! echo \",$SUPPORTED,\" | grep -q \",$DRIVER,\"; then\n  echo \"unsupported driver: $DRIVER (possible: $SUPPORTED)\"; exit 1;\nfi","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep a script-local whitelist of driver names matching your Pulsar version.","Use exact driver identifiers from the error's Possible values list.","Pin the Pulsar CLI version in CI so driver names don't drift."],"tags":["cli","argument-validation","offload","s3"],"backgroundTag":"invalid-enum-value","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"}