Commit 6db4371
authored
Add support for Gzip compression for the JSON format on Filesystem connector (V1 and V2) (ArroyoSystems#1007)
* Add support for Gzip compression for the JSON format on Filesystem connector (V1 and V2)
This patch adds support for compression when using the JSON format with the
Filsystem connector (V1 and V2). The compression algorithm can be specified
using the `json.compression` configuration knob.
At the moment, only `gzip` or `uncompressed` are supported; the default is
`uncompressed`.
Note that local filesystem is currently **not** supported.
* Make JsonCompression an Option and add config validation for JSON compression
The `JsonCompression` enum now only contains actual compression algorithms,
no more `Uncompressed`. To convey that something shouldn't be compressed, we
now use the `Option::None`.
This patch also adds some config validation; that ensures that the connector
is `filesystem` when `json.compression` is set.
* Address comments and move to a streaming compressor
This patch addresses the comments from ArroyoSystems#1007. It also moves to compressing
the JSON in a streaming fashion, instead of buffering in-memory.
* Address comments
1. Add comment to explain why expect won't panic
2. Model the buffer as an enum. This provides better typing support1 parent ed4ea0e commit 6db4371
13 files changed
Lines changed: 440 additions & 30 deletions
File tree
- crates
- arroyo-api/src
- arroyo-connectors
- src/filesystem/sink
- v2
- arroyo-formats/src
- arroyo-planner/src
- arroyo-rpc/src
- integ/tests
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
| 330 | + | |
330 | 331 | | |
331 | 332 | | |
332 | 333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
| |||
0 commit comments