apache/seatunnel · error · HttpConnectorException
CONFIG_VALIDATION_FAILED
CONFIG_VALIDATION_FAILED
Error message
Binary mode does not support pagination. Please remove pagination configuration or use text mode.
What it means
HttpSourceReader validates that binary mode and pagination are mutually exclusive. Binary mode reads the HTTP response body as raw streamed bytes, which cannot be paginated, so if a user configures both a binary format and pagination, the reader refuses to start with this CONFIG_VALIDATION_FAILED error.
Solutions
- Remove the pagination block (page_type, page_path, etc.) from the HTTP source config
- Or disable binary mode (use a text format like json/text) if you actually need pagination
Example fix
// before
format = "binary"
page_info = { page_type = "HNPAGE", page_field = "_links.next" }
// after
format = "binary" Defensive patterns
Strategy: validation
Validate before calling
if (binaryMode && pageInfo != null) { throw new IllegalStateException("Remove pagination config or disable binary mode"); } Prevention
- Audit HTTP source configs for page_* keys whenever format is binary
- Document that pagination and binary mode are mutually exclusive
- Fail fast in config parsing pipelines before job submission
When it happens
Trigger: Creating an HttpSourceReader when binaryMode is true and a pageInfo (pagination) configuration is present in the source config.
Common situations: Users enabling format=binary (or json->binary switch) for downloading files while keeping the page_type/page_path settings left over from a previous text-mode JSON pagination config.
Understand the failure class
Background: Conflicting config options: "cannot be used together" — configuration validation errors across open-source libraries — this error's family across 162 libraries.
Related errors
- Binary chunk size must be positive, got
- Binary chunk size too large (max 100MB), got
- CONFIG_VALIDATION_FAILED
- ADD_FIELD_FAILED
- Airtable API request failed, status code
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/62dbd870133ba3ab.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-http/connector-http-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/http/source/HttpSourceReader.java:141
SingleSplitReaderContext context,
DeserializationSchema<SeaTunnelRow> deserializationSchema,
JsonField jsonField,
String contentJson,
PageInfo pageInfo,
boolean binaryMode,
long binaryChunkSize) {
this.context = context;
this.httpParameter = httpParameter;
this.deserializationCollector = new DeserializationCollector(deserializationSchema);
this.jsonField = jsonField;
this.contentJson = contentJson;
this.pageInfoOptional = Optional.ofNullable(pageInfo);
this.rawBody = httpParameter.getBody();
this.binaryMode = binaryMode;
this.binaryChunkSize = binaryChunkSize;
if (binaryMode && pageInfo != null) {
throw new HttpConnectorException(
HttpConnectorErrorCode.CONFIG_VALIDATION_FAILED,
"Binary mode does not support pagination. "
+ "Please remove pagination configuration or use text mode.");
}
}
@Override
public void open() {
httpClient = new HttpClientProvider(httpParameter);
}
@Override
public void close() throws IOException {
if (Objects.nonNull(httpClient)) {
httpClient.close();
}
}
View on GitHub (pinned to cf67b549a7)