You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(clickhouse sink, aws_s3 sink): use dedicated batch_encoding types (#25340)
* Fix the clickhouse sink so that it only accepts arrow
* Do not allow arrow stream or parquet on AWS S3
* reformat
* Add changelog fragment
* Remove stale comments
* chore(aws_s3 sink): exhaustive match for batch_encoding default extension
So adding a future S3BatchEncoding variant is a compile error rather than
silently defaulting to "parquet".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(aws_s3 sink): rename shadowing parquet_config bind in tests
Avoid rebinding parquet_config to a borrow of itself from
config.batch_encoding; use a short p binding instead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(changelog): rewrite batch_encoding fragment for users
Drop internal type names and dev jargon; lead with the user-visible
behavior change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* test(aws_s3 sink, clickhouse sink): reject unsupported batch_encoding codec at parse time
Add per-sink deserialization-failure tests that pin the schema-tightening
behavior introduced by the dedicated wrapper enums:
- aws_s3 rejects codec: arrow_stream
- clickhouse rejects codec: parquet
Previously both codecs were accepted by serde and rejected later at
sink-build time; the new wrapper enums move rejection up to parse time,
and these tests prevent silent regression of that contract.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(aws_s3 sink): re-export S3BatchEncoding from aws_s3 module
Programmatic users constructing S3SinkConfig directly need to be able
to set the batch_encoding field. With config kept private in
src/sinks/aws_s3/mod.rs, S3BatchEncoding was unnameable outside the
crate, regressing callers that previously used
BatchSerializerConfig::Parquet(...) at the same field.
Gated by codecs-parquet to mirror the type and field.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Pavlos Rontidis <pavlos.rontidis@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The `aws_s3` and `clickhouse` sinks now correctly advertise only the `batch_encoding.codec` values they actually support: `parquet` for `aws_s3` and `arrow_stream` for `clickhouse`. Previously the documentation and configuration schema listed both codecs for both sinks, even though picking the wrong one produced a startup error.
0 commit comments