{"record":{"id":"1973d7933c1ce881","repo":"apache/dolphinscheduler","slug":"bucketname-bucketname-is-not-exists-you-need-t","errorCode":null,"errorMessage":"bucketName: <bucketName> is not exists, you need to create them by yourself","messagePattern":"bucketName: <bucketName> is not exists, you need to create them by yourself","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote/OssRemoteLogHandler.java","lineNumber":103,"sourceCode":"            log.error(\"error while getting remote log on OSS {} to {}\", objectName, logPath, e);\n        }\n    }\n\n    @Override\n    public void close() throws IOException {\n        if (ossClient != null) {\n            ossClient.shutdown();\n        }\n    }\n\n    private void checkBucketNameExists(String bucketName) {\n        if (StringUtils.isBlank(bucketName)) {\n            throw new IllegalArgumentException(Constants.REMOTE_LOGGING_OSS_BUCKET_NAME + \" is empty\");\n        }\n\n        boolean existsBucket = ossClient.doesBucketExist(bucketName);\n        if (!existsBucket) {\n            throw new IllegalArgumentException(\n                    \"bucketName: \" + bucketName + \" is not exists, you need to create them by yourself\");\n        }\n\n        log.info(\"bucketName: {} has been found\", bucketName);\n    }\n\n    private String readOssAccessKeyId() {\n        return PropertyUtils.getString(Constants.REMOTE_LOGGING_OSS_ACCESS_KEY_ID);\n    }\n\n    private String readOssAccessKeySecret() {\n        return PropertyUtils.getString(Constants.REMOTE_LOGGING_OSS_ACCESS_KEY_SECRET);\n    }\n\n    private String readOssEndpoint() {\n        return PropertyUtils.getString(Constants.REMOTE_LOGGING_OSS_ENDPOINT);\n    }\n","sourceCodeStart":85,"sourceCodeEnd":121,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote/OssRemoteLogHandler.java#L85-L121","documentation":"After confirming the OSS bucket name is non-blank, OssRemoteLogHandler.checkBucketNameExists calls ossClient.doesBucketExist(bucketName). If Alibaba Cloud OSS reports the bucket does not exist (under the configured credentials/endpoint), the handler throws this IllegalArgumentException instead of failing later at log upload time.","triggerScenarios":"checkBucketNameExists is called with a well-formed non-blucket name that does not exist: the bucket was never created, was deleted, belongs to another account/region, or the endpoint/credentials point to a different tenant so doesBucketExist returns false.","commonSituations":"Typo in remote.logging.oss.bucket.name; bucket created in a different region than remote.logging.oss.endpoint; using credentials of an account that does not own the bucket; bucket name violating OSS naming rules so it was never successfully created.","solutions":["Create the bucket in the Alibaba Cloud OSS console (or via ossutil: ossutil mb oss://<bucket>) exactly matching remote.logging.oss.bucket.name — DolphinScheduler does not auto-create it","Fix typos in remote.logging.oss.bucket.name in common.properties","Align remote.logging.oss.endpoint with the region where the bucket actually exists","Verify remote.logging.oss.access-key-id/secret-key belong to the account that owns the bucket"],"exampleFix":"// before\nremote.logging.oss.bucket.name=dolphinscheduler-log\n// bucket 'dolphinscheduler-log' does not exist\n\n// after\n$ ossutil mb oss://dolphinscheduler-log --region cn-hangzhou\nremote.logging.oss.bucket.name=dolphinscheduler-log\nremote.logging.oss.endpoint=oss-cn-hangzhou.aliyuncs.com","handlingStrategy":"validation","validationCode":"// pre-check with the OSS SDK before starting the handler\nboolean exists = ossClient.doesBucketExist(bucketName);\nif (!exists) {\n    throw new IllegalStateException(\"OSS bucket \" + bucketName + \" does not exist; create it first (ossutil mb oss://\" + bucketName + \")\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    ossRemoteLogHandler.checkBucketNameExists(bucketName);\n} catch (IllegalArgumentException e) {\n    if (e.getMessage().contains(\"is not exists\")) {\n        log.error(\"Bucket {} missing: create it or fix endpoint/credentials\", bucketName);\n    }\n}","preventionTips":["Create the bucket via IaC (Terraform/ossutil) before deploying DolphinScheduler","Keep endpoint region and bucket region consistent","Verify credentials can head the bucket with ossutil ls oss://<bucket>","Use exact bucket names from your cloud inventory, not memory"],"tags":["configuration","oss","storage","bucket-not-found"],"backgroundTag":"resource-not-found","analyzedSha":"02eac45a1b6676e639fcbfb4be2243de5771b05d","analyzedAt":"2026-09-06T17:43:00.555Z","contentChangedAt":"2026-09-06T17:43:00.555Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}