apache/seatunnel · warning
part size is less than , set to default value
Error message
part size {} is less than {}, set to default value {} What it means
PartStrategySplitter.partCountLimitForOneSplit validates the configured ClickHouse split size. If the user-configured splitSize is below CLICKHOUSE_SPLIT_SIZE_MIN, it logs this warning and silently resets partSize to CLICKHOUSE_SPLIT_SIZE_MIN (the message's 'default value' refers to the default constant used). Execution continues with the corrected value.
Solutions
- Set split.size to a value >= CLICKHOUSE_SPLIT_SIZE_MIN to silence the warning and get intended behavior.
- Remove the split.size option to use the default value.
- Check ClickhouseSourceOptions for the exact MIN/DEFAULT constants and adjust your config accordingly.
Example fix
# before split.size = 1 # after split.size = 20000
Defensive patterns
Strategy: validation
Validate before calling
// validate before submit
int min = 20000; // ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_MIN
if (configuredSplitSize != null && configuredSplitSize < min) {
throw new IllegalArgumentException("split.size must be >= " + min);
} Prevention
- Validate split.size against CLICKHOUSE_SPLIT_SIZE_MIN in your config pipeline
- Omit split.size to accept the default
- Document units/min values when sharing configs between connectors
When it happens
Trigger: clickhouseSourceTable.getSplitSize() returns a value smaller than ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_MIN (configured 'split.size' or per-table split size too small).
Common situations: Users setting split.size=1 or similar very small values expecting fine-grained parallelism; typo'ed config value; copied config from another connector with different units.
Understand the failure class
Background: "value must be between 0 and 1" / "out of range" / "must not be negative" errors: fixing range-validation failures across open-source libraries — this error's family across 42 libraries.
Related errors
- QUERY_TABLE_NOT_SUPPORT_NON_MERGE_TREE_TABLE
- Agent config file not found
- AmazonDocumentDB option '' must be a valid BSON/JSON…
- AmazonDocumentDB option '' must not be blank
- AmazonDocumentDB option 'tls_ca_file' is required when TLS…
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/f10c79a65b57fb60.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-clickhouse/src/main/java/org/apache/seatunnel/connectors/seatunnel/clickhouse/source/split/PartStrategySplitter.java:145
List<String> partNameList =
split.getParts().stream()
.map(ClickhousePart::getName)
.collect(Collectors.toList());
log.debug("generate shard {} to parts {}", split.getShard().getNode(), partNameList);
}
log.info("generate splits size: {}", splits.size());
return splits;
}
public int partCountLimitForOneSplit(ClickhouseSourceTable clickhouseSourceTable) {
int partSize = ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_DEFAULT;
if (clickhouseSourceTable.getSplitSize() != null) {
partSize = clickhouseSourceTable.getSplitSize();
}
if (partSize < ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_MIN) {
log.warn(
"part size {} is less than {}, set to default value {}",
partSize,
ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_MIN,
ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_DEFAULT);
partSize = ClickhouseSourceOptions.CLICKHOUSE_SPLIT_SIZE_MIN;
}
log.debug("part size is set to {}", partSize);
return partSize;
}
@Override
public void close() {}
}
View on GitHub (pinned to cf67b549a7)