apache/seatunnel · error · IllegalArgumentException
${option} must not be blank
Error message
${option} must not be blank What it means
DeepLakeSinkConfig.requireNonBlank validates required string options (workspace, table, api_url, etc.) and throws IllegalArgumentException('<option> must not be blank') when the value is null, empty, or whitespace-only. It fails fast at config construction so the job never starts with an unusable Deep Lake endpoint/table path.
Source
Thrown at seatunnel-connectors-v2/connector-deeplake/src/main/java/org/apache/seatunnel/connectors/seatunnel/deeplake/config/DeepLakeSinkConfig.java:78
throw new IllegalArgumentException(
"schema_save_mode RECREATE_SCHEMA is not supported by the DeepLake sink");
}
}
private static String removeTrailingSlash(String value) {
if (value == null) {
return null;
}
int end = value.length();
while (end > 0 && value.charAt(end - 1) == '/') {
end--;
}
return value.substring(0, end);
}
private static void requireNonBlank(String value, String option) {
if (value == null || value.trim().isEmpty()) {
throw new IllegalArgumentException(option + " must not be blank");
}
}
private static void requirePositive(int value, String option) {
if (value <= 0) {
throw new IllegalArgumentException(option + " must be greater than zero");
}
}
public String getApiUrl() {
return apiUrl;
}
public String getApiKey() {
return apiKey;
}
public String getOrgId() {View on GitHub (pinned to cf67b549a7)
Solutions
- Set the reported option (named at the start of the message) to a non-blank value
- Check that referenced environment variables are exported in the submit environment
- Trim surrounding whitespace from config values
Example fix
// before
workspace = ${DEEPLAKE_WORKSPACE} // env var unset -> blank
// after
workspace = "my-workspace" // or export DEEPLAKE_WORKSPACE before submit Defensive patterns
Strategy: validation
Validate before calling
for (String k : java.util.List.of("workspace","table","api_url")) {
String v = config.getString(k, null);
if (v == null || v.trim().isEmpty()) throw new IllegalStateException(k + " must not be blank");
} Try / catch
try { new DeepLakeSinkConfig(options); } catch (IllegalArgumentException e) { if (e.getMessage().endsWith("must not be blank")) log.error("Missing DeepLake option: {}", e.getMessage()); throw e; } Prevention
- Verify all required sink keys exist in the HOCON config before submit
- Check that interpolated env vars are exported on the submit machine
- Trim values and avoid accidental empty strings in templates
When it happens
Trigger: Omitting a required string option in the Deep Lake sink config, or providing it as "" or whitespace (e.g. env-var interpolation resolving to an empty string).
Common situations: Missing workspace/table keys in HOCON config; ${WORKSPACE} env vars unset so interpolation yields an empty string; quoting mistakes producing empty values.
Understand the failure class
Background: "is required", "must be set", "missing required field": configuration validation errors across open-source libraries — this error's family across 36 libraries.
Related errors
- ${option} must be greater than zero
- Schema config can not be empty
- Unknown format type:
- Option '${option}' cannot be blank
- Option '${valuesAndOptions[index + 1]}' is not valid for the
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/5f50c98968083879.
Report an issue: GitHub.