Skip to content

Commit

Permalink
feat: Compression (#2235)
Browse files Browse the repository at this point in the history
Closes #2082
  • Loading branch information
morenol committed Mar 11, 2022
1 parent 3f06772 commit 2975c47
Show file tree
Hide file tree
Showing 42 changed files with 1,076 additions and 119 deletions.
15 changes: 13 additions & 2 deletions .github/workflows/ci.yml
Expand Up @@ -309,12 +309,14 @@ jobs:
os: [ubuntu-latest]
rust: [stable]
rust-target: [x86_64-unknown-linux-gnu]
compression: [none, gzip, snappy, lz4]
env:
RUST_BACKTRACE: full
RUSTV: ${{ matrix.rust }}
TARGET: ${{ matrix.rust-target }}
RELEASE: true
RELEASE_NAME: release
FLV_CLIENT_DEFAULT_COMPRESSION_CODEC: ${{ matrix.compression }}
steps:
- uses: actions/checkout@v2
- name: Install Rust ${{ matrix.rust }}
Expand Down Expand Up @@ -444,6 +446,7 @@ jobs:
FLUVIO_BIN: ~/bin/fluvio
TEST_BIN: ~/bin/fluvio-test
SERVER_LOG: fluvio=debug
FLV_CLIENT_DEFAULT_COMPRESSION_CODEC: ${{ matrix.compression }}
strategy:
fail-fast: false
matrix:
Expand All @@ -461,7 +464,7 @@ jobs:
batch-failure,
batch,
]

compression: [none, gzip, snappy, lz4]
steps:
- uses: actions/checkout@v2
- name: Download artifact - fluvio
Expand Down Expand Up @@ -604,6 +607,7 @@ jobs:
TEST_BIN: ~/bin/fluvio-test
UNINSTALL: noclean
SERVER_LOG: fluvio=debug
FLV_CLIENT_DEFAULT_COMPRESSION_CODEC: ${{ matrix.compression }}
strategy:
fail-fast: false
matrix:
Expand All @@ -613,6 +617,7 @@ jobs:
test: [smoke-test-k8, smoke-test-k8-tls, smoke-test-k8-tls-root-unclean]
k8: [k3d, minikube]
spu: [2]
compression: [none, gzip, snappy, lz4]
steps:
- uses: actions/checkout@v2
# Download artifacts
Expand Down Expand Up @@ -717,11 +722,14 @@ jobs:
name: Upgrade cluster test on (${{ matrix.run }})
needs: build_image
runs-on: ${{ matrix.os }}
env:
FLV_CLIENT_DEFAULT_COMPRESSION_CODEC: ${{ matrix.compression }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
run: [r1]
compression: [none, gzip, snappy, lz4]
steps:
- uses: actions/checkout@v2
- name: Setup K3d
Expand Down Expand Up @@ -822,10 +830,13 @@ jobs:
needs: build_image
#if: ${{ false }}
runs-on: ${{ matrix.os }}
env:
FLV_CLIENT_DEFAULT_COMPRESSION_CODEC: ${{ matrix.compression }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
compression: [none, gzip, snappy, lz4]
steps:
- uses: actions/checkout@v2
- name: Install Rust ${{ matrix.rust }}
Expand Down Expand Up @@ -1038,4 +1049,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Done
run: echo "Done!"
run: echo "Done!"
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -8,6 +8,7 @@
* Report SPU error codes to FutureRecordMetadata ([#2228](https://github.com/infinyon/fluvio/issues/2228))
* Optimize partition size computation ([#2230](https://github.com/infinyon/fluvio/issues/2230))
* Fix fluvio-test configuration to support data generator ([#2237](https://github.com/infinyon/fluvio/pull/2237))
* Add compression support. ([#2082](https://github.com/infinyon/fluvio/issues/2082))

## Platform Version 0.9.20 - 2022-02-17
* Add `connector update -c config` to update the running configuration of a given existing managed connector ([#2188](https://github.com/infinyon/fluvio/pull/2188))
Expand Down
41 changes: 40 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Expand Up @@ -13,6 +13,7 @@ members = [
"crates/fluvio-cli",
"crates/fluvio-cli-common",
"crates/fluvio-cluster",
"crates/fluvio-compression",
"crates/fluvio-controlplane",
"crates/fluvio-controlplane-metadata",
"crates/fluvio-dataplane-protocol",
Expand Down
20 changes: 20 additions & 0 deletions crates/fluvio-compression/Cargo.toml
@@ -0,0 +1,20 @@
[package]
name = "fluvio-compression"
version = "0.1.0"
edition = "2021"
license = "Apache-2.0"
authors = ["Fluvio Contributors <team@fluvio.io>"]
categories = ["compression"]
keywords = ["fluvio", "compression"]
repository = "https://github.com/infinyon/fluvio"
description = "Fluvio Compression library"

[features]
default = []

[dependencies]
serde = { version = "1.0.110", features = ['derive'] }
flate2 = { version = "1.0.20"}
snap = { version = "1" }
lz4_flex = { version = "0.9", default-features = false, features = ["safe-decode", "safe-encode", "frame"] }
thiserror = "1.0.30"

0 comments on commit 2975c47

Please sign in to comment.