apache/dolphinscheduler · error · IllegalArgumentException

containerName: <containerName> is not exists, you need to cr

Error message

containerName: <containerName> is not exists, you need to create them by yourself

What it means

AbsRemoteLogHandler.buildBlobContainerClient() wraps any failure to obtain the Azure Blob container client in an IllegalArgumentException stating the container does not exist. The Azure SDK's getBlobContainerClient is lazy, so this catch is a coarse signal that the container could not be resolved/created — typically it truly does not exist in the storage account (or credentials/endpoint are wrong).

Source

Thrown at dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote/AbsRemoteLogHandler.java:79

        return instance;
    }

    protected BlobContainerClient buildBlobContainerClient() {

        BlobServiceClient serviceClient = new BlobServiceClientBuilder()
                .endpoint(String.format("https://%s.blob.core.windows.net/", accountName))
                .credential(new StorageSharedKeyCredential(accountName, accountKey))
                .buildClient();

        if (StringUtils.isBlank(containerName)) {
            throw new IllegalArgumentException("remote.logging.abs.container.name is blank");
        }

        try {
            this.blobContainerClient = serviceClient.getBlobContainerClient(containerName);
        } catch (Exception ex) {
            throw new IllegalArgumentException(
                    "containerName: " + containerName + " is not exists, you need to create them by yourself");
        }

        log.info("containerName: {} has been found.", containerName);

        return blobContainerClient;
    }

    @Override
    public void close() throws IOException {
        // no need to close blobContainerClient
    }

    @Override
    public void sendRemoteLog(String logPath) {
        String objectName = RemoteLogUtils.getObjectNameFromLogPath(logPath);

        try {

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Create the container manually (Azure Portal, az storage container create --name <name> --account-name <account>) as the message instructs.
  2. Double-check remote.logging.abs.container.name spelling and that it matches the container in the account configured by remote.logging.abs.account.name/key.
  3. Verify storage account credentials; a wrong account key can surface as this not-exists error.

Example fix

// before
remote.logging.abs.container.name=dolpscheduler-logs  // typo, container missing

// after
az storage container create --name dolphinscheduler-logs \
  --account-name <account> --account-key <key>
remote.logging.abs.container.name=dolphinscheduler-logs
Defensive patterns

Strategy: validation

Validate before calling

BlobServiceClient sc = new BlobServiceClientBuilder()
        .endpoint(String.format("https://%s.blob.core.windows.net/", accountName))
        .credential(new StorageSharedKeyCredential(accountName, accountKey))
        .buildClient();
if (!sc.getBlobContainerClient(containerName).exists()) {
    throw new IllegalStateException("Container " + containerName + " missing; create it before enabling ABS remote logging");
}

Try / catch

try {
    initRemoteLogHandler();
} catch (IllegalArgumentException e) {
    log.error("ABS remote logging failed: {} — verify container exists and credentials are correct", e.getMessage());
}

Prevention

When it happens

Trigger: Remote logging to ABS enabled with a container name that does not exist in the configured storage account (or wrong account/key so the container check fails) when the handler initializes buildBlobContainerClient().

Common situations: Typo in remote.logging.abs.container.name; container created in a different storage account/region than the configured one; account key wrong so access fails and is reported as not-exists.

Understand the failure class

Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.

Related errors


AI-assisted analysis of apache/dolphinscheduler@02eac45a1b (2026-09-06). Data as JSON: /api/errors/2a61015a203fd591. Report an issue: GitHub.