apache/dolphinscheduler · error · IllegalArgumentException

Resource path should not be empty

Error message

Resource path should not be empty

What it means

A guard helper, exceptionIfPathEmpty, threw IllegalArgumentException because the resource absolute path passed to a storage operation was null or empty. It is a defensive check used by fetchResource/Basename operations; the offending input is the empty path argument, usually caused by a resource record with a null fullName or a caller passing an unset variable.

Source

Thrown at dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/AbstractStorageOperator.java:101

                break;
            case ALL:
                resourceBaseDirectory = tenantBaseDirectory;
                break;
            default:
                throw new IllegalArgumentException("Resource type: " + resourceType + " not supported");
        }
        // All directory should end with File.separator
        return resourceBaseDirectory;
    }

    @Override
    public String getStorageFileAbsolutePath(String tenantCode, String fileName) {
        return FileUtils.concatFilePath(getStorageBaseDirectory(tenantCode, ResourceType.FILE), fileName);
    }

    protected void exceptionIfPathEmpty(String resourceAbsolutePath) {
        if (StringUtils.isEmpty(resourceAbsolutePath)) {
            throw new IllegalArgumentException("Resource path should not be empty");
        }
    }

    protected void exceptionIfPathNotUnderStorageBaseDir(String resourceAbsolutePath) {
        String storageBaseDirectory = getStorageBaseDirectory();
        if (!resourceAbsolutePath.startsWith(storageBaseDirectory)) {
            throw new IllegalArgumentException(
                    "Resource path: " + resourceAbsolutePath + " is not under storage base directory: "
                            + storageBaseDirectory);
        }
    }

}

View on GitHub (pinned to 02eac45a1b)

Solutions

  1. Check why the caller produced a null/empty resource path (missing resource fullName, unset variable, failed concatenation)
  2. Add null/empty validation at the API layer so users get a clear 400 instead of a server-side guard exception
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/AbstractStorageOperator.java:101 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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