From 4ea61387e3435606e9dab476822221bb4d199d6c Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Thu, 24 Sep 2026 17:31:30 -0700 Subject: [PATCH 1/8] WIP feat: create async-friendly Lz4 frame decoder --- Cargo.toml | 7 +- src/compression/lz4/frame.rs | 28 +++ src/compression/lz4/header.rs | 323 +++++++++++++++++++++++++ src/compression/{lz4.rs => lz4/mod.rs} | 9 + 4 files changed, 363 insertions(+), 4 deletions(-) create mode 100644 src/compression/lz4/frame.rs create mode 100644 src/compression/lz4/header.rs rename src/compression/{lz4.rs => lz4/mod.rs} (98%) diff --git a/Cargo.toml b/Cargo.toml index 3e64e9b7..11b26a2e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -100,7 +100,7 @@ test-util = ["hyper/server"] inserter = ["dep:quanta"] uuid = ["dep:uuid"] time = ["dep:time"] -lz4 = ["dep:lz4_flex", "dep:cityhash-rs"] +lz4 = ["dep:lz4_flex", "dep:cityhash-rs", "dep:twox-hash"] zstd = ["dep:zstd", "dep:cityhash-rs"] chrono = ["dep:chrono"] futures03 = [] @@ -152,9 +152,8 @@ hyper-rustls = { version = "0.27.3", default-features = false, features = [ url = "2.1.1" futures-util = { version = "0.3.5", default-features = false, features = ["sink", "io"] } futures-channel = { version = "0.3.30", features = ["sink"] } -lz4_flex = { version = "0.11.6", default-features = false, features = [ - "std", -], optional = true } +twox-hash = { version = "2.1.4", optional = true } +lz4_flex = { version = "0.14.0", optional = true, default-features = false, features = ["std"] } cityhash-rs = { version = "=1.0.1", optional = true } # exact version for safety, this package has been stable for years zstd = { version = "0.13", default-features = false, optional = true } uuid = { version = "1", optional = true } diff --git a/src/compression/lz4/frame.rs b/src/compression/lz4/frame.rs new file mode 100644 index 00000000..50d6e771 --- /dev/null +++ b/src/compression/lz4/frame.rs @@ -0,0 +1,28 @@ +use crate::compression::lz4::header::FrameInfo; +use crate::error::Error; +use bytes::{Bytes, BytesMut}; +use lz4_flex::frame::FrameInfo; + +/// Push-based decoder of the Lz4 frame format. +/// +/// [`lz4_flex::frame::FrameDecoder`] exists but depends on the blocking `Read` trait, +/// and its implementation is not re-entrant so returning `WouldBlock` is not enough. +pub struct Lz4FramePushDecoder { + current_frame: Option, + input_buffer: BytesMut, + output_buffer: BytesMut, + dict: BytesMut, +} + +impl Lz4FramePushDecoder { + pub fn new() -> Lz4FramePushDecoder { + Self { + current_frame: None, + input_buffer: BytesMut::with_capacity(8192), + output_buffer: BytesMut::with_capacity(8192), + dict: BytesMut::new(), + } + } + + pub fn push_chunk(&mut self, bytes: Bytes) -> Result {} +} diff --git a/src/compression/lz4/header.rs b/src/compression/lz4/header.rs new file mode 100644 index 00000000..ca9d111d --- /dev/null +++ b/src/compression/lz4/header.rs @@ -0,0 +1,323 @@ +// Source: https://github.com/PSeitz/lz4_flex/blob/0.14.0/src/frame/header.rs +// `lz4_flex` is already a dependency, so SBOM generation should include its license file. +// Code not related to _reading_ frame headers has been deleted. +// Calls to `Read::read_exact()` on `&[u8]` have been replaced with `read_fixed()`. +use twox_hash::XxHash32; + +use std::{fmt::Debug, hash::Hasher}; + +const FLG_RESERVED_MASK: u8 = 0b00000010; +const FLG_VERSION_MASK: u8 = 0b11000000; +const FLG_SUPPORTED_VERSION_BITS: u8 = 0b01000000; + +const FLG_INDEPENDENT_BLOCKS: u8 = 0b00100000; +const FLG_BLOCK_CHECKSUMS: u8 = 0b00010000; +const FLG_CONTENT_SIZE: u8 = 0b00001000; +const FLG_CONTENT_CHECKSUM: u8 = 0b00000100; +const FLG_DICTIONARY_ID: u8 = 0b00000001; + +const BD_RESERVED_MASK: u8 = !BD_BLOCK_SIZE_MASK; +const BD_BLOCK_SIZE_MASK: u8 = 0b01110000; +const BD_BLOCK_SIZE_MASK_RSHIFT: u8 = 4; + +const BLOCK_UNCOMPRESSED_SIZE_BIT: u32 = 0x80000000; + +const LZ4F_MAGIC_NUMBER: u32 = 0x184D2204; +pub(crate) const LZ4F_LEGACY_MAGIC_NUMBER: u32 = 0x184C2102; +const LZ4F_SKIPPABLE_MAGIC_RANGE: std::ops::RangeInclusive = 0x184D2A50..=0x184D2A5F; + +pub(crate) const MAGIC_NUMBER_SIZE: usize = 4; +pub(crate) const MIN_FRAME_INFO_SIZE: usize = 7; +pub(crate) const MAX_FRAME_INFO_SIZE: usize = 19; +pub(crate) const BLOCK_INFO_SIZE: usize = 4; + +#[derive(Clone, Copy, PartialEq, Debug)] +/// Different predefines blocksizes to choose when compressing data. +#[derive(Default)] +pub enum BlockSize { + /// Will detect optimal frame size based on the size of the first write call + #[default] + Auto = 0, + /// The default block size. + Max64KB = 4, + /// 256KB block size. + Max256KB = 5, + /// 1MB block size. + Max1MB = 6, + /// 4MB block size. + Max4MB = 7, + /// 8MB block size. + Max8MB = 8, +} + +impl BlockSize { + /// Try to find optimal size based on passed buffer length. + pub(crate) fn from_buf_length(buf_len: usize) -> Self { + let mut blocksize = BlockSize::Max4MB; + + for candidate in [BlockSize::Max256KB, BlockSize::Max64KB] { + if buf_len > candidate.get_size() { + return blocksize; + } + blocksize = candidate; + } + BlockSize::Max64KB + } + pub(crate) fn get_size(&self) -> usize { + match self { + BlockSize::Auto => unreachable!(), + BlockSize::Max64KB => 64 * 1024, + BlockSize::Max256KB => 256 * 1024, + BlockSize::Max1MB => 1024 * 1024, + BlockSize::Max4MB => 4 * 1024 * 1024, + BlockSize::Max8MB => 8 * 1024 * 1024, + } + } +} + +#[derive(Clone, Copy, PartialEq, Debug)] +/// The two `BlockMode` operations that can be set on (`FrameInfo`)[FrameInfo] +#[derive(Default)] +pub enum BlockMode { + /// Every block is compressed independently. The default. + #[default] + Independent, + /// Blocks can reference data from previous blocks. + /// + /// Effective when the stream contains small blocks. + Linked, +} + +// From: https://github.com/lz4/lz4/blob/dev/doc/lz4_Frame_format.md +// +// General Structure of LZ4 Frame format +// ------------------------------------- +// +// | MagicNb | F. Descriptor | Block | (...) | EndMark | C. Checksum | +// |:-------:|:-------------:| ----- | ----- | ------- | ----------- | +// | 4 bytes | 3-15 bytes | | | 4 bytes | 0-4 bytes | +// +// Frame Descriptor +// ---------------- +// +// | FLG | BD | (Content Size) | (Dictionary ID) | HC | +// | ------- | ------- |:--------------:|:---------------:| ------- | +// | 1 byte | 1 byte | 0 - 8 bytes | 0 - 4 bytes | 1 byte | +// +// __FLG byte__ +// +// | BitNb | 7-6 | 5 | 4 | 3 | 2 | 1 | 0 | +// | ------- |-------|-------|----------|------|----------|----------|------| +// |FieldName|Version|B.Indep|B.Checksum|C.Size|C.Checksum|*Reserved*|DictID| +// +// __BD byte__ +// +// | BitNb | 7 | 6-5-4 | 3-2-1-0 | +// | ------- | -------- | ------------- | -------- | +// |FieldName|*Reserved*| Block MaxSize |*Reserved*| +// +// Data Blocks +// ----------- +// +// | Block Size | data | (Block Checksum) | +// |:----------:| ------ |:----------------:| +// | 4 bytes | | 0 - 4 bytes | +// +#[derive(Debug, Default, Clone)] +/// The metadata for de/compressing with lz4 frame format. +pub struct FrameInfo { + /// If set, includes the total uncompressed size of data in the frame. + pub content_size: Option, + /// The identifier for the dictionary that must be used to correctly decode data. + /// The compressor and the decompressor must use exactly the same dictionary. + /// + /// Note that this is currently unsupported and for this reason it's not pub. + pub(crate) dict_id: Option, + /// The maximum uncompressed size of each data block. + pub block_size: BlockSize, + /// The block mode. + pub block_mode: BlockMode, + /// If set, includes a checksum for each data block in the frame. + pub block_checksums: bool, + /// If set, includes a content checksum to verify that the full frame contents have been + /// decoded correctly. + pub content_checksum: bool, + /// If set, use the legacy frame format + pub legacy_frame: bool, +} + +impl FrameInfo { + pub(crate) fn read_size(input: &[u8]) -> Result { + let mut required = MIN_FRAME_INFO_SIZE; + // We don't care to actually advance `input` here + let magic_num = u32::from_le_bytes(read_fixed(&mut &*input)?); + if magic_num == LZ4F_LEGACY_MAGIC_NUMBER { + return Ok(MAGIC_NUMBER_SIZE); + } + + if input.len() < required { + return Ok(required); + } + + if LZ4F_SKIPPABLE_MAGIC_RANGE.contains(&magic_num) { + return Ok(8); + } + if magic_num != LZ4F_MAGIC_NUMBER { + return Err(Error::WrongMagicNumber); + } + + if input[4] & FLG_CONTENT_SIZE != 0 { + required += 8; + } + if input[4] & FLG_DICTIONARY_ID != 0 { + required += 4 + } + Ok(required) + } + + pub(crate) fn read(mut input: &[u8]) -> Result { + let original_input = input; + // 4 byte Magic + let magic_num = { u32::from_le_bytes(read_fixed(&mut input)?) }; + if magic_num == LZ4F_LEGACY_MAGIC_NUMBER { + return Ok(FrameInfo { + block_size: BlockSize::Max8MB, + legacy_frame: true, + ..FrameInfo::default() + }); + } + if LZ4F_SKIPPABLE_MAGIC_RANGE.contains(&magic_num) { + let user_data_len = u32::from_le_bytes(read_fixed(&mut input)?); + return Err(Error::SkippableFrame(user_data_len)); + } + if magic_num != LZ4F_MAGIC_NUMBER { + return Err(Error::WrongMagicNumber); + } + + // fixed size section + let [flg_byte, bd_byte] = read_fixed(&mut input)?; + + if flg_byte & FLG_VERSION_MASK != FLG_SUPPORTED_VERSION_BITS { + // version is always 01 + return Err(Error::UnsupportedVersion(flg_byte & FLG_VERSION_MASK)); + } + + if flg_byte & FLG_RESERVED_MASK != 0 || bd_byte & BD_RESERVED_MASK != 0 { + return Err(Error::ReservedBitsSet); + } + + let block_mode = if flg_byte & FLG_INDEPENDENT_BLOCKS != 0 { + BlockMode::Independent + } else { + BlockMode::Linked + }; + let content_checksum = flg_byte & FLG_CONTENT_CHECKSUM != 0; + let block_checksums = flg_byte & FLG_BLOCK_CHECKSUMS != 0; + + let block_size = match (bd_byte & BD_BLOCK_SIZE_MASK) >> BD_BLOCK_SIZE_MASK_RSHIFT { + i @ 0..=3 => return Err(Error::UnsupportedBlocksize(i)), + 4 => BlockSize::Max64KB, + 5 => BlockSize::Max256KB, + 6 => BlockSize::Max1MB, + 7 => BlockSize::Max4MB, + _ => unreachable!(), + }; + + // var len section + let mut content_size = None; + if flg_byte & FLG_CONTENT_SIZE != 0 { + content_size = Some(u64::from_le_bytes(read_fixed(&mut input)?)); + } + + let mut dict_id = None; + if flg_byte & FLG_DICTIONARY_ID != 0 { + dict_id = Some(u32::from_le_bytes(read_fixed(&mut input)?)); + } + + // 1 byte header checksum + let [expected_checksum] = read_fixed(&mut input)?; + + let mut hasher = XxHash32::with_seed(0); + hasher.write(&original_input[4..original_input.len() - input.len() - 1]); + let header_hash = (hasher.finish() >> 8) as u8; + if header_hash != expected_checksum { + return Err(Error::HeaderChecksumError); + } + + Ok(FrameInfo { + content_size, + dict_id, + block_size, + block_mode, + block_checksums, + content_checksum, + legacy_frame: false, + }) + } +} + +#[derive(Debug)] +pub(crate) enum BlockInfo { + Compressed(u32), + Uncompressed(u32), + EndMark, +} + +impl BlockInfo { + pub(crate) fn read(mut input: &[u8]) -> Result { + let size = u32::from_le_bytes(read_fixed(&mut input)?); + if size == 0 { + Ok(BlockInfo::EndMark) + } else if size & BLOCK_UNCOMPRESSED_SIZE_BIT != 0 { + Ok(BlockInfo::Uncompressed(size & !BLOCK_UNCOMPRESSED_SIZE_BIT)) + } else { + Ok(BlockInfo::Compressed(size)) + } + } +} + +fn read_fixed(input: &mut &[u8]) -> Result<[u8; LEN], Error> { + let (chunk, rem) = input + .split_first_chunk() + .ok_or_else(|| Error::InsufficientData(LEN - input.len()))?; + + *input = rem; + Ok(*chunk) +} + +pub enum Error { + /// Not enough data to read the frame header. + /// + /// Included is the amount of additional bytes to be read. + InsufficientData(usize), + /// Unsupported block size. + UnsupportedBlocksize(u8), + /// Unsupported frame version. + UnsupportedVersion(u8), + /// Wrong magic number for the LZ4 frame format. + WrongMagicNumber, + /// Reserved bits set. + ReservedBitsSet, + /// Block header is malformed. + InvalidBlockInfo, + /// Read a block larger than specified in the Frame header. + BlockTooBig, + /// The Frame header checksum doesn't match. + HeaderChecksumError, + /// The block checksum doesn't match. + BlockChecksumError, + /// The content checksum doesn't match. + ContentChecksumError, + /// Read an skippable frame. + /// The caller may read the specified amount of bytes from the underlying io::Read. + SkippableFrame(u32), + /// External dictionaries are not supported. + DictionaryNotSupported, + /// Content length differs. + ContentLengthError { + /// Expected content length. + expected: u64, + /// Actual content length. + actual: u64, + }, +} diff --git a/src/compression/lz4.rs b/src/compression/lz4/mod.rs similarity index 98% rename from src/compression/lz4.rs rename to src/compression/lz4/mod.rs index f86edf3b..0c2ce2f5 100644 --- a/src/compression/lz4.rs +++ b/src/compression/lz4/mod.rs @@ -14,6 +14,9 @@ use crate::{ response::Chunk, }; +mod frame; +mod header; + const MAX_COMPRESSED_SIZE: u32 = 1024 * 1024 * 1024; pub(crate) struct Lz4Decoder { @@ -68,6 +71,12 @@ where } } +pub struct Lz4HttpDecoder { + stream: S, + input_buf: BytesMut, + output_buf: BytesMut, +} + // Meta = checksum + header // - [16b] checksum // - [ 1b] magic number (0x82) From c8f65efa4853c8f42a7077189d907377c6de9d4f Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Mon, 28 Sep 2026 08:32:45 -0700 Subject: [PATCH 2/8] feat: create async-friendly Lz4 frame decoder --- src/bytes_ext.rs | 13 +++ src/compression/lz4/frame.rs | 160 +++++++++++++++++++++++++++++++--- src/compression/lz4/header.rs | 85 ++++++------------ src/error.rs | 6 ++ 4 files changed, 195 insertions(+), 69 deletions(-) diff --git a/src/bytes_ext.rs b/src/bytes_ext.rs index 5799c203..7a179bc3 100644 --- a/src/bytes_ext.rs +++ b/src/bytes_ext.rs @@ -38,6 +38,11 @@ impl BytesExt { *self.cursor.get_mut() += n; } + pub(crate) fn clear(&mut self) { + *self.cursor.get_mut() = 0; + self.bytes.clear(); + } + /// Adds the provided chunk into available bytes. #[inline(always)] pub(crate) fn extend(&mut self, chunk: Bytes) { @@ -79,6 +84,14 @@ impl Buf for BytesExt { fn advance(&mut self, cnt: usize) { self.advance(cnt); } + + fn copy_to_bytes(&mut self, len: usize) -> Bytes { + let start = self.cursor.get(); + self.advance(len); + let end = self.cursor.get(); + + self.bytes.slice(start..end) + } } #[cfg(test)] diff --git a/src/compression/lz4/frame.rs b/src/compression/lz4/frame.rs index 50d6e771..256cb7b9 100644 --- a/src/compression/lz4/frame.rs +++ b/src/compression/lz4/frame.rs @@ -1,28 +1,166 @@ -use crate::compression::lz4::header::FrameInfo; +use crate::bytes_ext::BytesExt; +use crate::compression::lz4::header; +use crate::compression::lz4::header::{BlockInfo, BlockMode, FrameInfo}; use crate::error::Error; -use bytes::{Bytes, BytesMut}; -use lz4_flex::frame::FrameInfo; +use bytes::{Buf, Bytes, BytesMut}; +use std::cmp; +use std::ops::ControlFlow; + +const WINDOW_SIZE: usize = 65536; /// Push-based decoder of the Lz4 frame format. /// /// [`lz4_flex::frame::FrameDecoder`] exists but depends on the blocking `Read` trait, /// and its implementation is not re-entrant so returning `WouldBlock` is not enough. pub struct Lz4FramePushDecoder { - current_frame: Option, - input_buffer: BytesMut, + state: State, + input_buffer: BytesExt, output_buffer: BytesMut, - dict: BytesMut, + window: BytesExt, +} + +enum State { + NextFrame, + NextBlock { frame: FrameInfo }, + InBlock { frame: FrameInfo, block: BlockInfo }, } impl Lz4FramePushDecoder { pub fn new() -> Lz4FramePushDecoder { Self { - current_frame: None, - input_buffer: BytesMut::with_capacity(8192), - output_buffer: BytesMut::with_capacity(8192), - dict: BytesMut::new(), + state: State::NextFrame, + input_buffer: BytesExt::default(), + output_buffer: BytesMut::new(), + window: BytesExt::default(), } } - pub fn push_chunk(&mut self, bytes: Bytes) -> Result {} + pub fn push(&mut self, chunk: Bytes) { + self.input_buffer.extend(chunk); + } + + pub fn drain(&mut self) -> Result, Error> { + loop { + match &self.state { + State::NextFrame => { + let mut input = self.input_buffer.slice(); + + match FrameInfo::read(&mut input) { + Ok(frame) => { + self.state = State::NextBlock { frame }; + self.input_buffer.set_remaining(input.len()); + } + Err(header::Error::InsufficientData(len)) => { + return Ok(ControlFlow::Continue(len)); + } + Err(other) => return Err(Error::decompression(other)), + } + } + State::NextBlock { frame } => { + let mut input = self.input_buffer.slice(); + + match BlockInfo::read(&mut input) { + Ok(block) => { + self.state = State::InBlock { + frame: frame.clone(), + block, + }; + self.input_buffer.set_remaining(input.len()); + } + Err(header::Error::InsufficientData(len)) => { + return Ok(ControlFlow::Continue(len)); + } + Err(other) => return Err(Error::decompression(other)), + } + } + State::InBlock { frame, block } => { + if frame.legacy_frame { + return Err(Error::decompression( + "Lz4 frame specifies legacy format which is not supported", + )); + } + + if let Some(dict_id) = frame.dict_id { + return Err(Error::decompression(format!( + "Lz4 frame requests an external dictionary ({dict_id}) which is not supported" + ))); + } + + if let BlockMode::Independent = frame.block_mode { + self.window.clear(); + } + + let decompressed = match *block { + BlockInfo::Uncompressed(len) => { + let len = usize::try_from(len).map_err(|_| { + Error::decompression(format!( + "Lz4 block length out of range: {len}" + )) + })?; + + if self.input_buffer.remaining() < len { + return Ok(ControlFlow::Continue( + len - self.input_buffer.remaining(), + )); + } + + self.input_buffer.copy_to_bytes(len) + } + BlockInfo::Compressed(len) => { + let len = usize::try_from(len).map_err(|_| { + Error::decompression(format!( + "Lz4 block length out of range: {len}" + )) + })?; + + if self.input_buffer.remaining() < len { + return Ok(ControlFlow::Continue( + len - self.input_buffer.remaining(), + )); + } + + let max_block_size = frame.block_size.get(); + + if max_block_size > self.output_buffer.len() { + // FIXME: `lz4_flex` has no way to decompress into an uninit buffer + // https://github.com/PSeitz/lz4_flex/pull/195 + self.output_buffer.resize(max_block_size, 0); + } + + let len = lz4_flex::block::decompress_into_with_dict( + &self.input_buffer.slice()[..len], + &mut self.output_buffer, + self.window.slice(), + ) + .map_err(Error::decompression)?; + + self.output_buffer.split_to(len).freeze() + } + BlockInfo::EndMark => { + self.state = State::NextFrame; + continue; + } + }; + + if let BlockMode::Linked = frame.block_mode { + let mut advance_amt = (self.window.remaining() + decompressed.len()) + .saturating_sub(WINDOW_SIZE); + + self.window + .advance(cmp::min(advance_amt, self.window.remaining())); + + advance_amt = advance_amt.saturating_sub(self.window.remaining()); + + self.window.extend(decompressed.slice(advance_amt..)); + } + + self.state = State::NextBlock { + frame: frame.clone(), + }; + + return Ok(ControlFlow::Break(decompressed)); + } + } + } + } } diff --git a/src/compression/lz4/header.rs b/src/compression/lz4/header.rs index ca9d111d..07d62cd7 100644 --- a/src/compression/lz4/header.rs +++ b/src/compression/lz4/header.rs @@ -4,6 +4,7 @@ // Calls to `Read::read_exact()` on `&[u8]` have been replaced with `read_fixed()`. use twox_hash::XxHash32; +use std::fmt::{Display, Formatter}; use std::{fmt::Debug, hash::Hasher}; const FLG_RESERVED_MASK: u8 = 0b00000010; @@ -33,11 +34,7 @@ pub(crate) const BLOCK_INFO_SIZE: usize = 4; #[derive(Clone, Copy, PartialEq, Debug)] /// Different predefines blocksizes to choose when compressing data. -#[derive(Default)] pub enum BlockSize { - /// Will detect optimal frame size based on the size of the first write call - #[default] - Auto = 0, /// The default block size. Max64KB = 4, /// 256KB block size. @@ -51,21 +48,8 @@ pub enum BlockSize { } impl BlockSize { - /// Try to find optimal size based on passed buffer length. - pub(crate) fn from_buf_length(buf_len: usize) -> Self { - let mut blocksize = BlockSize::Max4MB; - - for candidate in [BlockSize::Max256KB, BlockSize::Max64KB] { - if buf_len > candidate.get_size() { - return blocksize; - } - blocksize = candidate; - } - BlockSize::Max64KB - } - pub(crate) fn get_size(&self) -> usize { + pub(crate) fn get(&self) -> usize { match self { - BlockSize::Auto => unreachable!(), BlockSize::Max64KB => 64 * 1024, BlockSize::Max256KB => 256 * 1024, BlockSize::Max1MB => 1024 * 1024, @@ -123,7 +107,7 @@ pub enum BlockMode { // |:----------:| ------ |:----------------:| // | 4 bytes | | 0 - 4 bytes | // -#[derive(Debug, Default, Clone)] +#[derive(Debug, Clone)] /// The metadata for de/compressing with lz4 frame format. pub struct FrameInfo { /// If set, includes the total uncompressed size of data in the frame. @@ -147,47 +131,23 @@ pub struct FrameInfo { } impl FrameInfo { - pub(crate) fn read_size(input: &[u8]) -> Result { - let mut required = MIN_FRAME_INFO_SIZE; - // We don't care to actually advance `input` here - let magic_num = u32::from_le_bytes(read_fixed(&mut &*input)?); - if magic_num == LZ4F_LEGACY_MAGIC_NUMBER { - return Ok(MAGIC_NUMBER_SIZE); - } - - if input.len() < required { - return Ok(required); - } - - if LZ4F_SKIPPABLE_MAGIC_RANGE.contains(&magic_num) { - return Ok(8); - } - if magic_num != LZ4F_MAGIC_NUMBER { - return Err(Error::WrongMagicNumber); - } - - if input[4] & FLG_CONTENT_SIZE != 0 { - required += 8; - } - if input[4] & FLG_DICTIONARY_ID != 0 { - required += 4 - } - Ok(required) - } - - pub(crate) fn read(mut input: &[u8]) -> Result { - let original_input = input; + pub(crate) fn read(input: &mut &[u8]) -> Result { + let original_input = &**input; // 4 byte Magic - let magic_num = { u32::from_le_bytes(read_fixed(&mut input)?) }; + let magic_num = { u32::from_le_bytes(read_fixed(input)?) }; if magic_num == LZ4F_LEGACY_MAGIC_NUMBER { return Ok(FrameInfo { + content_size: None, + dict_id: None, block_size: BlockSize::Max8MB, + block_mode: Default::default(), + block_checksums: false, + content_checksum: false, legacy_frame: true, - ..FrameInfo::default() }); } if LZ4F_SKIPPABLE_MAGIC_RANGE.contains(&magic_num) { - let user_data_len = u32::from_le_bytes(read_fixed(&mut input)?); + let user_data_len = u32::from_le_bytes(read_fixed(input)?); return Err(Error::SkippableFrame(user_data_len)); } if magic_num != LZ4F_MAGIC_NUMBER { @@ -195,7 +155,7 @@ impl FrameInfo { } // fixed size section - let [flg_byte, bd_byte] = read_fixed(&mut input)?; + let [flg_byte, bd_byte] = read_fixed(input)?; if flg_byte & FLG_VERSION_MASK != FLG_SUPPORTED_VERSION_BITS { // version is always 01 @@ -226,16 +186,16 @@ impl FrameInfo { // var len section let mut content_size = None; if flg_byte & FLG_CONTENT_SIZE != 0 { - content_size = Some(u64::from_le_bytes(read_fixed(&mut input)?)); + content_size = Some(u64::from_le_bytes(read_fixed(input)?)); } let mut dict_id = None; if flg_byte & FLG_DICTIONARY_ID != 0 { - dict_id = Some(u32::from_le_bytes(read_fixed(&mut input)?)); + dict_id = Some(u32::from_le_bytes(read_fixed(input)?)); } // 1 byte header checksum - let [expected_checksum] = read_fixed(&mut input)?; + let [expected_checksum] = read_fixed(input)?; let mut hasher = XxHash32::with_seed(0); hasher.write(&original_input[4..original_input.len() - input.len() - 1]); @@ -264,8 +224,8 @@ pub(crate) enum BlockInfo { } impl BlockInfo { - pub(crate) fn read(mut input: &[u8]) -> Result { - let size = u32::from_le_bytes(read_fixed(&mut input)?); + pub(crate) fn read(input: &mut &[u8]) -> Result { + let size = u32::from_le_bytes(read_fixed(input)?); if size == 0 { Ok(BlockInfo::EndMark) } else if size & BLOCK_UNCOMPRESSED_SIZE_BIT != 0 { @@ -285,6 +245,7 @@ fn read_fixed(input: &mut &[u8]) -> Result<[u8; LEN], Error> { Ok(*chunk) } +#[derive(Debug)] pub enum Error { /// Not enough data to read the frame header. /// @@ -321,3 +282,11 @@ pub enum Error { actual: u64, }, } + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{self:?}") + } +} + +impl std::error::Error for Error {} diff --git a/src/error.rs b/src/error.rs index d3ee71ed..9ce6dac0 100644 --- a/src/error.rs +++ b/src/error.rs @@ -122,6 +122,12 @@ impl From for Error { } impl Error { + /// Convenient wrapper function for [`Error::Decompression`] which also serves as a place + /// to set a breakpoint. + pub(crate) fn decompression(e: impl Into) -> Self { + Error::Decompression(e.into()) + } + /// https://opentelemetry.io/docs/specs/semconv/registry/attributes/error/#error-type #[cfg(feature = "opentelemetry")] pub(crate) fn error_type(&self) -> &str { From c1a72cf54314d6d72a3ed9587c4b8c0a2546d59c Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 02:25:01 -0700 Subject: [PATCH 3/8] refactor: use HTTP compression when requesting Lz4 --- src/compression/lz4/frame.rs | 138 ++++++++++++++++++++++++++--------- src/compression/lz4/mod.rs | 57 +++++++++++++-- src/insert_formatted.rs | 2 +- src/lib.rs | 5 +- src/query.rs | 44 +++++++---- src/response.rs | 125 +++++++++++++++++++------------ 6 files changed, 264 insertions(+), 107 deletions(-) diff --git a/src/compression/lz4/frame.rs b/src/compression/lz4/frame.rs index 256cb7b9..218ab1e0 100644 --- a/src/compression/lz4/frame.rs +++ b/src/compression/lz4/frame.rs @@ -2,6 +2,7 @@ use crate::bytes_ext::BytesExt; use crate::compression::lz4::header; use crate::compression::lz4::header::{BlockInfo, BlockMode, FrameInfo}; use crate::error::Error; +use crate::response::Chunk; use bytes::{Buf, Bytes, BytesMut}; use std::cmp; use std::ops::ControlFlow; @@ -21,8 +22,15 @@ pub struct Lz4FramePushDecoder { enum State { NextFrame, - NextBlock { frame: FrameInfo }, - InBlock { frame: FrameInfo, block: BlockInfo }, + NextBlock { + frame: FrameInfo, + overhead: usize, + }, + Block { + frame: FrameInfo, + block: BlockInfo, + overhead: usize, + }, } impl Lz4FramePushDecoder { @@ -39,16 +47,33 @@ impl Lz4FramePushDecoder { self.input_buffer.extend(chunk); } - pub fn drain(&mut self) -> Result, Error> { + pub fn drain(&mut self) -> Result, Error> { loop { - match &self.state { + match self.state { State::NextFrame => { let mut input = self.input_buffer.slice(); match FrameInfo::read(&mut input) { Ok(frame) => { - self.state = State::NextBlock { frame }; - self.input_buffer.set_remaining(input.len()); + if frame.legacy_frame { + return Err(Error::decompression( + "Lz4 frame specifies legacy format which is not supported", + )); + } + + if let Some(dict_id) = frame.dict_id { + return Err(Error::decompression(format!( + "Lz4 frame requests an external dictionary ({dict_id}) which is not supported" + ))); + } + + let consumed = self.input_buffer.remaining() - input.len(); + + self.state = State::NextBlock { + frame, + overhead: consumed, + }; + self.input_buffer.advance(consumed); } Err(header::Error::InsufficientData(len)) => { return Ok(ControlFlow::Continue(len)); @@ -56,14 +81,20 @@ impl Lz4FramePushDecoder { Err(other) => return Err(Error::decompression(other)), } } - State::NextBlock { frame } => { + State::NextBlock { + ref frame, + overhead, + } => { let mut input = self.input_buffer.slice(); match BlockInfo::read(&mut input) { Ok(block) => { - self.state = State::InBlock { + let consumed = self.input_buffer.remaining() - input.len(); + + self.state = State::Block { frame: frame.clone(), block, + overhead: overhead + consumed, }; self.input_buffer.set_remaining(input.len()); } @@ -73,24 +104,18 @@ impl Lz4FramePushDecoder { Err(other) => return Err(Error::decompression(other)), } } - State::InBlock { frame, block } => { - if frame.legacy_frame { - return Err(Error::decompression( - "Lz4 frame specifies legacy format which is not supported", - )); - } - - if let Some(dict_id) = frame.dict_id { - return Err(Error::decompression(format!( - "Lz4 frame requests an external dictionary ({dict_id}) which is not supported" - ))); - } - + State::Block { + ref frame, + ref block, + overhead, + } => { if let BlockMode::Independent = frame.block_mode { self.window.clear(); } - let decompressed = match *block { + let max_block_size = frame.block_size.get(); + + let (input_len, data) = match *block { BlockInfo::Uncompressed(len) => { let len = usize::try_from(len).map_err(|_| { Error::decompression(format!( @@ -98,29 +123,39 @@ impl Lz4FramePushDecoder { )) })?; + if len > max_block_size { + return Err(Error::decompression(format!( + "Lz4 uncompressed block size ({len}) exceeds frame's block_size ({max_block_size})" + ))); + } + if self.input_buffer.remaining() < len { return Ok(ControlFlow::Continue( len - self.input_buffer.remaining(), )); } - self.input_buffer.copy_to_bytes(len) + (len, self.input_buffer.copy_to_bytes(len)) } - BlockInfo::Compressed(len) => { - let len = usize::try_from(len).map_err(|_| { + BlockInfo::Compressed(compressed_len) => { + let compressed_len = usize::try_from(compressed_len).map_err(|_| { Error::decompression(format!( - "Lz4 block length out of range: {len}" + "Lz4 block length out of range: {compressed_len}" )) })?; - if self.input_buffer.remaining() < len { + if compressed_len > max_block_size { + return Err(Error::decompression(format!( + "Lz4 compressed block size ({compressed_len}) exceeds frame's block_size ({max_block_size})" + ))); + } + + if self.input_buffer.remaining() < compressed_len { return Ok(ControlFlow::Continue( - len - self.input_buffer.remaining(), + compressed_len - self.input_buffer.remaining(), )); } - let max_block_size = frame.block_size.get(); - if max_block_size > self.output_buffer.len() { // FIXME: `lz4_flex` has no way to decompress into an uninit buffer // https://github.com/PSeitz/lz4_flex/pull/195 @@ -128,13 +163,15 @@ impl Lz4FramePushDecoder { } let len = lz4_flex::block::decompress_into_with_dict( - &self.input_buffer.slice()[..len], + &self.input_buffer.slice()[..compressed_len], &mut self.output_buffer, self.window.slice(), ) .map_err(Error::decompression)?; - self.output_buffer.split_to(len).freeze() + self.input_buffer.advance(compressed_len); + + (compressed_len, self.output_buffer.split_to(len).freeze()) } BlockInfo::EndMark => { self.state = State::NextFrame; @@ -143,24 +180,53 @@ impl Lz4FramePushDecoder { }; if let BlockMode::Linked = frame.block_mode { - let mut advance_amt = (self.window.remaining() + decompressed.len()) - .saturating_sub(WINDOW_SIZE); + let mut advance_amt = + (self.window.remaining() + data.len()).saturating_sub(WINDOW_SIZE); self.window .advance(cmp::min(advance_amt, self.window.remaining())); advance_amt = advance_amt.saturating_sub(self.window.remaining()); - self.window.extend(decompressed.slice(advance_amt..)); + self.window.extend(data.slice(advance_amt..)); } self.state = State::NextBlock { frame: frame.clone(), + overhead: 0, }; - return Ok(ControlFlow::Break(decompressed)); + return Ok(ControlFlow::Break(Chunk { + net_size: overhead + input_len, + data, + })); } } } } + + pub fn finish(&mut self) -> Result<(), Error> { + if self.input_buffer.remaining() != 0 { + return Err(Error::decompression("unconsumed data in Lz4 frame buffer")); + } + + match &self.state { + State::NextFrame => Ok(()), + State::NextBlock { .. } => Err(Error::decompression( + "unexpected EOF in Lz4 frame stream: expected next block or EndMark", + )), + State::Block { block, .. } => { + let len = match *block { + BlockInfo::Uncompressed(len) => len, + BlockInfo::Compressed(len) => len, + BlockInfo::EndMark => unreachable!(), + }; + + Err(Error::decompression(format!( + "unexpected EOF in Lz4 frame stream: expected {len} bytes for next block, got {}", + self.input_buffer.remaining() + ))) + } + } + } } diff --git a/src/compression/lz4/mod.rs b/src/compression/lz4/mod.rs index 0c2ce2f5..eef07510 100644 --- a/src/compression/lz4/mod.rs +++ b/src/compression/lz4/mod.rs @@ -1,13 +1,14 @@ -use std::{ - pin::Pin, - task::{Context, Poll, ready}, -}; - use bytes::{Buf, BufMut, Bytes, BytesMut}; use cityhash_rs::cityhash_102_128; use futures_util::stream::Stream; use lz4_flex::block; +use std::ops::ControlFlow; +use std::{ + pin::Pin, + task::{Context, Poll, ready}, +}; +use crate::compression::lz4::frame::Lz4FramePushDecoder; use crate::{ bytes_ext::BytesExt, error::{Error, Result}, @@ -71,10 +72,50 @@ where } } -pub struct Lz4HttpDecoder { +pub(crate) struct Lz4HttpDecoder { stream: S, - input_buf: BytesMut, - output_buf: BytesMut, + decoder: Lz4FramePushDecoder, +} + +impl Lz4HttpDecoder { + pub(crate) fn new(stream: S) -> Self { + Self { + stream, + decoder: Lz4FramePushDecoder::new(), + } + } +} + +impl Stream for Lz4HttpDecoder +where + S: Stream> + Unpin, +{ + type Item = Result; + + fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + // Note(abonander): I chose not to introduce any forced yields here + // because Lz4 is quoted at decompressing at ~5000 MB/s, + // so the network should almost always be the bottleneck. + loop { + if let ControlFlow::Break(chunk) = self.decoder.drain()? { + return Poll::Ready(Some(Ok(chunk))); + } + + match Pin::new(&mut self.stream).poll_next(cx) { + Poll::Ready(Some(res)) => { + self.decoder.push(res?); + continue; + } + Poll::Ready(None) => { + self.decoder.finish()?; + return Poll::Ready(None); + } + Poll::Pending => { + return Poll::Pending; + } + } + } + } } // Meta = checksum + header diff --git a/src/insert_formatted.rs b/src/insert_formatted.rs index 5af48ea1..cd53e3da 100644 --- a/src/insert_formatted.rs +++ b/src/insert_formatted.rs @@ -511,7 +511,7 @@ impl InsertFormatted { let future = client.http.request(request); // Ensure the span created internally is captured as a child of the current span. - let mut response = Response::new(future, Compression::None); + let mut response = Response::new(future); // TODO: introduce `Executor` to allow bookkeeping of spawned tasks. let handle = tokio::spawn(async move { response.finish().await }); diff --git a/src/lib.rs b/src/lib.rs index 932f859a..a5fc4734 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -774,10 +774,11 @@ mod formats { mod settings { pub(crate) const DATABASE: &str = "database"; pub(crate) const DEFAULT_FORMAT: &str = "default_format"; - pub(crate) const COMPRESS: &str = "compress"; pub(crate) const DECOMPRESS: &str = "decompress"; - #[cfg(feature = "zstd")] pub(crate) const ENABLE_HTTP_COMPRESSION: &str = "enable_http_compression"; + + #[cfg_attr(not(feature = "zstd"), expect(dead_code))] + pub(crate) const HTTP_ZLIB_COMPRESSION_LEVEL: &str = "http_zlib_compression_level"; pub(crate) const ROLE: &str = "role"; pub(crate) const QUERY: &str = "query"; pub(crate) const QUERY_ID: &str = "query_id"; diff --git a/src/query.rs b/src/query.rs index 919b4121..bdaf9520 100644 --- a/src/query.rs +++ b/src/query.rs @@ -1,4 +1,6 @@ -use hyper::{Method, Request, header::CONTENT_LENGTH}; +use hyper::header::ACCEPT_ENCODING; +use hyper::http::HeaderValue; +use hyper::{HeaderMap, Method, Request, header::CONTENT_LENGTH}; use serde::Serialize; use std::fmt::Display; use tracing::Instrument; @@ -256,15 +258,29 @@ impl Query { } if self.client.compression.is_enabled() { - #[cfg(feature = "zstd")] - if matches!(self.client.compression, crate::Compression::Zstd(_)) { + pairs.append_pair(settings::ENABLE_HTTP_COMPRESSION, "1"); + } + + let mut headers = HeaderMap::new(); + + match self.client.compression { + #[expect(deprecated)] + #[cfg(feature = "lz4")] + Compression::Lz4 | Compression::Lz4Hc(_) => { pairs.append_pair(settings::ENABLE_HTTP_COMPRESSION, "1"); - } else { - pairs.append_pair(settings::COMPRESS, "1"); + headers.insert(ACCEPT_ENCODING, HeaderValue::from_static("lz4")); } - - #[cfg(not(feature = "zstd"))] - pairs.append_pair(settings::COMPRESS, "1"); + #[cfg(feature = "zstd")] + Compression::Zstd(level) => { + pairs + .append_pair(settings::ENABLE_HTTP_COMPRESSION, "1") + // `http_zlib_compression_level` affects all compression codecs: + // https://clickhouse.com/docs/concepts/features/interfaces/http#compression + .append_pair(settings::HTTP_ZLIB_COMPRESSION_LEVEL, &level.to_string()); + + headers.insert(ACCEPT_ENCODING, HeaderValue::from_static("zstd")); + } + _ => (), } for (name, value) in &self.client.settings { @@ -276,14 +292,14 @@ impl Query { drop(pairs); let mut builder = Request::builder().method(Method::POST).uri(url.as_str()); - builder = with_request_headers(builder, &self.client.headers, &self.client.products_info); - builder = with_authentication(builder, &self.client.authentication); - #[cfg(feature = "zstd")] - if matches!(self.client.compression, crate::Compression::Zstd(_)) { - builder = builder.header("Accept-Encoding", "zstd"); + if let Some(headers_mut) = builder.headers_mut() { + *headers_mut = headers; } + builder = with_request_headers(builder, &self.client.headers, &self.client.products_info); + builder = with_authentication(builder, &self.client.authentication); + let content_length = query.len(); builder = builder.header(CONTENT_LENGTH, content_length.to_string()); @@ -294,7 +310,7 @@ impl Query { })?; let future = self.client.http.request(request); - Ok(Response::new(future, self.client.compression)) + Ok(Response::new(future)) } /// Configure the [roles] to use when executing this query. diff --git a/src/response.rs b/src/response.rs index 22dfdbbc..7f7df1d9 100644 --- a/src/response.rs +++ b/src/response.rs @@ -1,9 +1,18 @@ +#[cfg(feature = "lz4")] +use crate::compression::lz4::Lz4HttpDecoder; +#[cfg(feature = "zstd")] +use crate::compression::zstd::ZstdHttpDecoder; +use crate::{ + error::{Error, Result}, + query_summary::QuerySummary, +}; use bstr::ByteSlice; use bytes::{BufMut, Bytes}; use futures_util::stream::{self, Stream, TryStreamExt}; use http_body_util::BodyExt as _; +use hyper::header::CONTENT_ENCODING; use hyper::{ - StatusCode, + HeaderMap, StatusCode, body::{Body as _, Incoming}, }; use hyper_util::client::legacy::ResponseFuture as HyperResponseFuture; @@ -12,16 +21,6 @@ use std::{ pin::{Pin, pin}, task::{Context, Poll}, }; - -#[cfg(feature = "lz4")] -use crate::compression::lz4::Lz4Decoder; -#[cfg(feature = "zstd")] -use crate::compression::zstd::ZstdHttpDecoder; -use crate::{ - compression::Compression, - error::{Error, Result}, - query_summary::QuerySummary, -}; use tracing::Instrument; // === Response === @@ -38,7 +37,7 @@ pub(crate) type ResponseFuture = Pin>)>> + Send>>; impl Response { - pub(crate) fn new(response: HyperResponseFuture, compression: Compression) -> Self { + pub(crate) fn new(response: HyperResponseFuture) -> Self { let span = tracing::info_span!( "response", otel.status_code = tracing::field::Empty, @@ -47,9 +46,7 @@ impl Response { db.response_code = tracing::field::Empty, ); - Self::Waiting(Box::pin( - collect_response(response, compression).instrument(span), - )) + Self::Waiting(Box::pin(collect_response(response).instrument(span))) } pub(crate) fn into_future(self) -> ResponseFuture { @@ -77,12 +74,11 @@ impl Response { async fn collect_response( response: HyperResponseFuture, - compression: Compression, ) -> Result<(Chunks, Option>)> { - let response = response.await?; + let (parts, body) = response.await?.into_parts(); - let status = response.status(); - let exception_code = response.headers().get("X-ClickHouse-Exception-Code"); + let status = parts.status; + let exception_code = parts.headers.get("X-ClickHouse-Exception-Code"); tracing::record_all!( tracing::Span::current(), @@ -91,19 +87,19 @@ async fn collect_response( ); if status == StatusCode::OK && exception_code.is_none() { - let tag = response - .headers() + let tag = parts + .headers .get("X-ClickHouse-Exception-Tag") .map(|value| value.as_bytes().into()); - let summary = response - .headers() + let summary = parts + .headers .get("X-ClickHouse-Summary") .and_then(|v| v.to_str().ok()) .and_then(QuerySummary::from_header) .map(Box::new); // More likely to be successful, start streaming. // It still can fail, but we'll handle it in `DetectDbException`. - Ok((Chunks::new(response.into_body(), compression, tag), summary)) + Ok((Chunks::new(body, &parts.headers, tag)?, summary)) } else { // An instantly failed request. let error = collect_bad_response( @@ -111,8 +107,8 @@ async fn collect_response( exception_code .and_then(|value| value.to_str().ok()) .map(|code| format!("Code: {code}")), - response.into_body(), - compression, + body, + parts.headers, ) .await; @@ -128,7 +124,7 @@ async fn collect_bad_response( status: StatusCode, exception_code: Option, body: Incoming, - compression: Compression, + headers: HeaderMap, ) -> Error { // Collect the whole body into one contiguous buffer to simplify handling. // Only network errors can occur here and we return them instead of status code @@ -147,13 +143,19 @@ async fn collect_bad_response( // Try to decompress the body, because CH uses compression even for errors. let stream = stream::once(future::ready(Result::<_>::Ok(raw_bytes.slice(..)))); - let stream = Decompress::new(stream, compression).map_ok(|chunk| chunk.data); - - // We're collecting already fetched chunks, thus only decompression errors can - // be here. If decompression is failed, we should try the raw body because - // it can be sent without any compression if some proxy is used, which - // typically know nothing about CH params. - let bytes = collect_bytes(stream).await.unwrap_or(raw_bytes); + let bytes = match Decompress::new(stream, &headers) { + // We're collecting already fetched chunks, thus only decompression errors can + // be here. If decompression is failed, we should try the raw body because + // it can be sent without any compression if some proxy is used, which + // typically know nothing about CH params. + Ok(stream) => collect_bytes(stream.map_ok(|chunk| chunk.data)) + .await + .unwrap_or(raw_bytes), + Err(e) => { + tracing::warn!("decompression error in collecting error-response: {e}"); + raw_bytes + } + }; let reason = String::from_utf8(bytes.into()) .map(|reason| reason.trim().into()) @@ -200,16 +202,20 @@ pub(crate) struct Chunks { } impl Chunks { - fn new(stream: Incoming, compression: Compression, exception_tag: Option>) -> Self { + fn new( + stream: Incoming, + headers: &HeaderMap, + exception_tag: Option>, + ) -> Result { let stream = IncomingStream(stream); - let stream = Decompress::new(stream, compression); + let stream = Decompress::new(stream, headers)?; let stream = DetectDbException { stream, exception_tag, }; - Self { + Ok(Self { inner: Some(Box::new(stream)), - } + }) } pub(crate) fn empty() -> Self { @@ -275,21 +281,48 @@ impl Stream for IncomingStream { enum Decompress { Plain(S), #[cfg(feature = "lz4")] - Lz4(Lz4Decoder), + Lz4(Lz4HttpDecoder), #[cfg(feature = "zstd")] Zstd(ZstdHttpDecoder), } impl Decompress { - fn new(stream: S, compression: Compression) -> Self { - match compression { - Compression::None => Self::Plain(stream), - #[cfg(feature = "lz4")] - #[allow(deprecated)] - Compression::Lz4 | Compression::Lz4Hc(_) => Self::Lz4(Lz4Decoder::new(stream)), + fn new(stream: S, headers: &HeaderMap) -> Result { + let Some(content_encoding) = headers.get(CONTENT_ENCODING) else { + return Ok(Self::Plain(stream)); + }; + + if content_encoding + .as_bytes() + .trim_ascii() + .eq_ignore_ascii_case(b"zstd") + { #[cfg(feature = "zstd")] - Compression::Zstd(_) => Self::Zstd(ZstdHttpDecoder::new(stream)), + return Ok(Self::Zstd(ZstdHttpDecoder::new(stream))); + + #[cfg(not(feature = "zstd"))] + return Err(Error::decompression( + "ClickHouse server or proxy returned `Content-Encoding: zstd` but the `zstd` feature of the `clickhouse` crate is not enabled", + )); } + + if content_encoding + .as_bytes() + .trim_ascii() + .eq_ignore_ascii_case(b"lz4") + { + #[cfg(feature = "lz4")] + return Ok(Self::Lz4(Lz4HttpDecoder::new(stream))); + + #[cfg(not(feature = "lz4"))] + return Err(Error::decompression( + "ClickHouse server or proxy returned `Content-Encoding: lz4` but the `lz4` feature of the `clickhouse` crate is not enabled", + )); + } + + Err(Error::decompression(format!( + "ClickHouse server or proxy returned unknown `Content-Encoding`: {content_encoding:?}" + ))) } } From 84e69c3fa975fb8c74731598fe974d5e979d5c14 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 20:19:21 -0700 Subject: [PATCH 4/8] refactor: share more code between Lz4 and Zstd, add test fixtures --- .../lz4/fixtures/nyc-taxi_trips.lz4 | Bin 0 -> 121283 bytes .../lz4/fixtures/nyc-taxi_trips_checksum.lz4 | Bin 0 -> 121287 bytes .../lz4/fixtures/nyc-taxi_trips_linked.lz4 | Bin 0 -> 121283 bytes .../nyc-taxi_trips_linked_checksum.lz4 | Bin 0 -> 121287 bytes src/compression/lz4/frame.rs | 126 ++++++-- src/compression/lz4/header.rs | 63 ++-- src/compression/lz4/mod.rs | 289 +++++------------- src/compression/mod.rs | 146 +++++++++ src/compression/zstd.rs | 45 +-- 9 files changed, 361 insertions(+), 308 deletions(-) create mode 100644 src/compression/lz4/fixtures/nyc-taxi_trips.lz4 create mode 100644 src/compression/lz4/fixtures/nyc-taxi_trips_checksum.lz4 create mode 100644 src/compression/lz4/fixtures/nyc-taxi_trips_linked.lz4 create mode 100644 src/compression/lz4/fixtures/nyc-taxi_trips_linked_checksum.lz4 diff --git a/src/compression/lz4/fixtures/nyc-taxi_trips.lz4 b/src/compression/lz4/fixtures/nyc-taxi_trips.lz4 new file mode 100644 index 0000000000000000000000000000000000000000..9917c6334b8fa3684de3b57120729c5180f0d373 GIT binary patch literal 121283 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 I04( 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

{`w$!PoO)b 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

%LLi#}j@HeK3xe>TZH~v)I4{jXb0d06h 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 I04( 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

{`w$!PoO)b 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

%LLi#}j@HeK3xe>TZH~v)I4{jXb0d06h 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 /// Push-based decoder of the Lz4 frame format. /// /// [`lz4_flex::frame::FrameDecoder`] exists but depends on the blocking `Read` trait, /// and its implementation is not re-entrant so returning `WouldBlock` is not enough. -pub struct Lz4FramePushDecoder { +pub(crate) struct Lz4FramePushDecoder { state: State, input_buffer: BytesExt, output_buffer: BytesMut, @@ -25,16 +28,20 @@ enum State { NextBlock { frame: FrameInfo, overhead: usize, + total_content_size: usize, + content_hasher: Option, }, Block { frame: FrameInfo, block: BlockInfo, overhead: usize, + total_content_size: usize, + content_hasher: Option, }, } impl Lz4FramePushDecoder { - pub fn new() -> Lz4FramePushDecoder { + pub(crate) fn new() -> Lz4FramePushDecoder { Self { state: State::NextFrame, input_buffer: BytesExt::default(), @@ -43,11 +50,11 @@ impl Lz4FramePushDecoder { } } - pub fn push(&mut self, chunk: Bytes) { + pub(crate) fn push(&mut self, chunk: Bytes) { self.input_buffer.extend(chunk); } - pub fn drain(&mut self) -> Result, Error> { + pub(crate) fn drain(&mut self) -> Result, Error> { loop { match self.state { State::NextFrame => { @@ -70,8 +77,10 @@ impl Lz4FramePushDecoder { let consumed = self.input_buffer.remaining() - input.len(); self.state = State::NextBlock { - frame, overhead: consumed, + total_content_size: 0, + content_hasher: frame.content_checksum.then(XxHash32::default), + frame, }; self.input_buffer.advance(consumed); } @@ -84,19 +93,23 @@ impl Lz4FramePushDecoder { State::NextBlock { ref frame, overhead, + total_content_size, + ref mut content_hasher, } => { let mut input = self.input_buffer.slice(); match BlockInfo::read(&mut input) { Ok(block) => { let consumed = self.input_buffer.remaining() - input.len(); + self.input_buffer.set_remaining(input.len()); self.state = State::Block { frame: frame.clone(), block, overhead: overhead + consumed, + total_content_size, + content_hasher: content_hasher.take(), }; - self.input_buffer.set_remaining(input.len()); } Err(header::Error::InsufficientData(len)) => { return Ok(ControlFlow::Continue(len)); @@ -108,6 +121,8 @@ impl Lz4FramePushDecoder { ref frame, ref block, overhead, + mut total_content_size, + ref mut content_hasher, } => { if let BlockMode::Independent = frame.block_mode { self.window.clear(); @@ -135,7 +150,15 @@ impl Lz4FramePushDecoder { )); } - (len, self.input_buffer.copy_to_bytes(len)) + let content = self.input_buffer.copy_to_bytes(len); + + if let Some(content_hasher) = content_hasher { + content_hasher.write(&content); + } + + total_content_size += len; + + (len, content) } BlockInfo::Compressed(compressed_len) => { let compressed_len = usize::try_from(compressed_len).map_err(|_| { @@ -150,9 +173,12 @@ impl Lz4FramePushDecoder { ))); } - if self.input_buffer.remaining() < compressed_len { + let expected_len = + compressed_len + if frame.block_checksums { 4 } else { 0 }; + + if self.input_buffer.remaining() < expected_len { return Ok(ControlFlow::Continue( - compressed_len - self.input_buffer.remaining(), + expected_len - self.input_buffer.remaining(), )); } @@ -162,18 +188,68 @@ impl Lz4FramePushDecoder { self.output_buffer.resize(max_block_size, 0); } + let (compressed_data, mut rest) = + self.input_buffer.slice().split_at(compressed_len); + let len = lz4_flex::block::decompress_into_with_dict( - &self.input_buffer.slice()[..compressed_len], + compressed_data, &mut self.output_buffer, self.window.slice(), ) .map_err(Error::decompression)?; - self.input_buffer.advance(compressed_len); + if frame.block_checksums { + let expected_checksum = rest.try_get_u32_le().map_err(|_| { + Error::decompression("expected 4-byte checksum after Lz4 block") + })?; + + let actual_checksum = XxHash32::oneshot(0, compressed_data); + + if expected_checksum != actual_checksum { + return Err(Error::decompression(format!( + "Lz4 block checksum mismatch; expected: {expected_checksum:#x}, actual: {actual_checksum:#x}" + ))); + } + } + + self.input_buffer.advance(expected_len); + + let content = self.output_buffer.split_to(len).freeze(); + + if let Some(content_hasher) = content_hasher { + content_hasher.write(&content); + } - (compressed_len, self.output_buffer.split_to(len).freeze()) + total_content_size += len; + + (compressed_len, content) } BlockInfo::EndMark => { + if let Some(content_hasher) = content_hasher { + let Ok(expected_checksum) = self.input_buffer.try_get_u32_le() + else { + return Ok(ControlFlow::Continue( + CHECKSUM_SIZE - self.input_buffer.remaining(), + )); + }; + + let actual_checksum = content_hasher.finish_32(); + + if expected_checksum != actual_checksum { + return Err(Error::decompression(format!( + "Lz4 content checksum mismatch; expected: {expected_checksum:#x}, actual: {actual_checksum:#x}" + ))); + } + } + + if let Some(expected_content_size) = frame.content_size + && expected_content_size != total_content_size as u64 + { + return Err(Error::decompression(format!( + "Lz4 content size mismatch; expected: {expected_content_size}, actual: {total_content_size}" + ))); + } + self.state = State::NextFrame; continue; } @@ -194,6 +270,8 @@ impl Lz4FramePushDecoder { self.state = State::NextBlock { frame: frame.clone(), overhead: 0, + total_content_size, + content_hasher: content_hasher.take(), }; return Ok(ControlFlow::Break(Chunk { @@ -205,7 +283,7 @@ impl Lz4FramePushDecoder { } } - pub fn finish(&mut self) -> Result<(), Error> { + pub(crate) fn finish(&mut self) -> Result<(), Error> { if self.input_buffer.remaining() != 0 { return Err(Error::decompression("unconsumed data in Lz4 frame buffer")); } @@ -215,18 +293,18 @@ impl Lz4FramePushDecoder { State::NextBlock { .. } => Err(Error::decompression( "unexpected EOF in Lz4 frame stream: expected next block or EndMark", )), - State::Block { block, .. } => { - let len = match *block { - BlockInfo::Uncompressed(len) => len, - BlockInfo::Compressed(len) => len, - BlockInfo::EndMark => unreachable!(), - }; - - Err(Error::decompression(format!( - "unexpected EOF in Lz4 frame stream: expected {len} bytes for next block, got {}", + State::Block { block, .. } => match *block { + BlockInfo::Uncompressed(len) | BlockInfo::Compressed(len) => { + Err(Error::decompression(format!( + "unexpected EOF in Lz4 frame stream: expected {len} bytes for next block, got {}", + self.input_buffer.remaining() + ))) + } + BlockInfo::EndMark => Err(Error::decompression(format!( + "unexpected EOF in Lz4 frame stream: expected {CHECKSUM_SIZE} bytes for content checksum, got {}", self.input_buffer.remaining() - ))) - } + ))), + }, } } } diff --git a/src/compression/lz4/header.rs b/src/compression/lz4/header.rs index 07d62cd7..7c4aa8f1 100644 --- a/src/compression/lz4/header.rs +++ b/src/compression/lz4/header.rs @@ -4,8 +4,7 @@ // Calls to `Read::read_exact()` on `&[u8]` have been replaced with `read_fixed()`. use twox_hash::XxHash32; -use std::fmt::{Display, Formatter}; -use std::{fmt::Debug, hash::Hasher}; +use std::fmt::{Debug, Display, Formatter}; const FLG_RESERVED_MASK: u8 = 0b00000010; const FLG_VERSION_MASK: u8 = 0b11000000; @@ -27,14 +26,9 @@ const LZ4F_MAGIC_NUMBER: u32 = 0x184D2204; pub(crate) const LZ4F_LEGACY_MAGIC_NUMBER: u32 = 0x184C2102; const LZ4F_SKIPPABLE_MAGIC_RANGE: std::ops::RangeInclusive = 0x184D2A50..=0x184D2A5F; -pub(crate) const MAGIC_NUMBER_SIZE: usize = 4; -pub(crate) const MIN_FRAME_INFO_SIZE: usize = 7; -pub(crate) const MAX_FRAME_INFO_SIZE: usize = 19; -pub(crate) const BLOCK_INFO_SIZE: usize = 4; - #[derive(Clone, Copy, PartialEq, Debug)] /// Different predefines blocksizes to choose when compressing data. -pub enum BlockSize { +pub(crate) enum BlockSize { /// The default block size. Max64KB = 4, /// 256KB block size. @@ -62,7 +56,7 @@ impl BlockSize { #[derive(Clone, Copy, PartialEq, Debug)] /// The two `BlockMode` operations that can be set on (`FrameInfo`)[FrameInfo] #[derive(Default)] -pub enum BlockMode { +pub(crate) enum BlockMode { /// Every block is compressed independently. The default. #[default] Independent, @@ -109,25 +103,25 @@ pub enum BlockMode { // #[derive(Debug, Clone)] /// The metadata for de/compressing with lz4 frame format. -pub struct FrameInfo { +pub(crate) struct FrameInfo { /// If set, includes the total uncompressed size of data in the frame. - pub content_size: Option, + pub(crate) content_size: Option, /// The identifier for the dictionary that must be used to correctly decode data. /// The compressor and the decompressor must use exactly the same dictionary. /// /// Note that this is currently unsupported and for this reason it's not pub. pub(crate) dict_id: Option, /// The maximum uncompressed size of each data block. - pub block_size: BlockSize, + pub(crate) block_size: BlockSize, /// The block mode. - pub block_mode: BlockMode, + pub(crate) block_mode: BlockMode, /// If set, includes a checksum for each data block in the frame. - pub block_checksums: bool, + pub(crate) block_checksums: bool, /// If set, includes a content checksum to verify that the full frame contents have been /// decoded correctly. - pub content_checksum: bool, + pub(crate) content_checksum: bool, /// If set, use the legacy frame format - pub legacy_frame: bool, + pub(crate) legacy_frame: bool, } impl FrameInfo { @@ -197,11 +191,13 @@ impl FrameInfo { // 1 byte header checksum let [expected_checksum] = read_fixed(input)?; - let mut hasher = XxHash32::with_seed(0); - hasher.write(&original_input[4..original_input.len() - input.len() - 1]); - let header_hash = (hasher.finish() >> 8) as u8; + let hash = XxHash32::oneshot( + 0, + &original_input[4..original_input.len() - input.len() - 1], + ); + let header_hash = (hash >> 8) as u8; if header_hash != expected_checksum { - return Err(Error::HeaderChecksumError); + return Err(Error::HeaderChecksum); } Ok(FrameInfo { @@ -246,41 +242,24 @@ fn read_fixed(input: &mut &[u8]) -> Result<[u8; LEN], Error> { } #[derive(Debug)] -pub enum Error { +pub(crate) enum Error { /// Not enough data to read the frame header. /// /// Included is the amount of additional bytes to be read. InsufficientData(usize), /// Unsupported block size. - UnsupportedBlocksize(u8), + UnsupportedBlocksize(#[expect(dead_code)] u8), /// Unsupported frame version. - UnsupportedVersion(u8), + UnsupportedVersion(#[expect(dead_code)] u8), /// Wrong magic number for the LZ4 frame format. WrongMagicNumber, /// Reserved bits set. ReservedBitsSet, - /// Block header is malformed. - InvalidBlockInfo, - /// Read a block larger than specified in the Frame header. - BlockTooBig, /// The Frame header checksum doesn't match. - HeaderChecksumError, - /// The block checksum doesn't match. - BlockChecksumError, - /// The content checksum doesn't match. - ContentChecksumError, + HeaderChecksum, /// Read an skippable frame. /// The caller may read the specified amount of bytes from the underlying io::Read. - SkippableFrame(u32), - /// External dictionaries are not supported. - DictionaryNotSupported, - /// Content length differs. - ContentLengthError { - /// Expected content length. - expected: u64, - /// Actual content length. - actual: u64, - }, + SkippableFrame(#[expect(dead_code)] u32), } impl Display for Error { diff --git a/src/compression/lz4/mod.rs b/src/compression/lz4/mod.rs index eef07510..5e96cc31 100644 --- a/src/compression/lz4/mod.rs +++ b/src/compression/lz4/mod.rs @@ -1,16 +1,15 @@ -use bytes::{Buf, BufMut, Bytes, BytesMut}; -use cityhash_rs::cityhash_102_128; +use bytes::{Bytes, BytesMut}; use futures_util::stream::Stream; use lz4_flex::block; use std::ops::ControlFlow; use std::{ pin::Pin, - task::{Context, Poll, ready}, + task::{Context, Poll}, }; use crate::compression::lz4::frame::Lz4FramePushDecoder; +use crate::compression::native_framing; use crate::{ - bytes_ext::BytesExt, error::{Error, Result}, response::Chunk, }; @@ -18,60 +17,6 @@ use crate::{ mod frame; mod header; -const MAX_COMPRESSED_SIZE: u32 = 1024 * 1024 * 1024; - -pub(crate) struct Lz4Decoder { - stream: S, - bytes: BytesExt, - meta: Option, -} - -impl Stream for Lz4Decoder -where - S: Stream> + Unpin, -{ - type Item = Result; - - fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - let meta = loop { - let size = self.bytes.remaining(); - let required_size = self - .meta - .as_ref() - .map_or(LZ4_META_SIZE, Lz4Meta::total_size); - - if size < required_size { - let stream = Pin::new(&mut self.stream); - match ready!(stream.poll_next(cx)) { - Some(Ok(chunk)) => { - self.bytes.extend(chunk); - continue; - } - Some(Err(err)) => return Some(Err(err)).into(), - None if size > 0 => { - let err = Error::Decompression("malformed data".into()); - return Poll::Ready(Some(Err(err))); - } - None => return Poll::Ready(None), - } - } - - debug_assert!(size >= required_size); - - match self.meta.take() { - Some(meta) => break meta, - None => self.meta = Some(self.read_meta()?), - }; - }; - - let data = self.read_data(&meta)?; - let net_size = meta.total_size(); - self.bytes.advance(net_size); - - Poll::Ready(Some(Ok(Chunk { data, net_size }))) - } -} - pub(crate) struct Lz4HttpDecoder { stream: S, decoder: Lz4FramePushDecoder, @@ -96,6 +41,9 @@ where // Note(abonander): I chose not to introduce any forced yields here // because Lz4 is quoted at decompressing at ~5000 MB/s, // so the network should almost always be the bottleneck. + // + // If yielding turns out to be necessary, yielding every 512 KiB decompressed + // should be around the 100-microsecond target quoted by the Tokio devs. loop { if let ControlFlow::Break(chunk) = self.decoder.drain()? { return Poll::Ready(Some(Ok(chunk))); @@ -118,182 +66,97 @@ where } } -// Meta = checksum + header -// - [16b] checksum -// - [ 1b] magic number (0x82) -// - [ 4b] compressed size (data + header) -// - [ 4b] uncompressed size -const LZ4_CHECKSUM_SIZE: usize = 16; -const LZ4_HEADER_SIZE: usize = 9; -const LZ4_META_SIZE: usize = LZ4_CHECKSUM_SIZE + LZ4_HEADER_SIZE; const LZ4_MAGIC: u8 = 0x82; -struct Lz4Meta { - checksum: u128, - compressed_size: u32, - uncompressed_size: u32, -} - -impl Lz4Meta { - fn total_size(&self) -> usize { - LZ4_CHECKSUM_SIZE + self.compressed_size as usize - } - - fn read(mut bytes: &[u8]) -> Result { - let checksum = bytes.get_u128_le(); - let magic = bytes.get_u8(); - let compressed_size = bytes.get_u32_le(); - let uncompressed_size = bytes.get_u32_le(); - - if magic != LZ4_MAGIC { - return Err(Error::Decompression("incorrect magic number".into())); - } - - if compressed_size > MAX_COMPRESSED_SIZE { - return Err(Error::Decompression("too big compressed data".into())); - } - - Ok(Lz4Meta { - checksum, - compressed_size, - uncompressed_size, - }) - } - - fn write_checksum(&self, mut buffer: &mut [u8]) { - buffer.put_u128_le(self.checksum); - } - - fn write_header(&self, mut buffer: &mut [u8]) { - buffer.put_u8(LZ4_MAGIC); - buffer.put_u32_le(self.compressed_size); - buffer.put_u32_le(self.uncompressed_size); - } -} - -impl Lz4Decoder { - pub(crate) fn new(stream: S) -> Self { - Self { - stream, - bytes: BytesExt::default(), - meta: None, - } - } - - fn read_meta(&mut self) -> Result { - Lz4Meta::read(self.bytes.slice()) - } - - fn read_data(&mut self, meta: &Lz4Meta) -> Result { - let total_size = meta.total_size(); - let bytes = &self.bytes.slice()[..total_size]; - - let actual_checksum = calc_checksum(&bytes[LZ4_CHECKSUM_SIZE..]); - if actual_checksum != meta.checksum { - return Err(Error::Decompression("checksum mismatch".into())); - } - - let uncompressed = block::decompress_size_prepended(&bytes[(LZ4_META_SIZE - 4)..]) - .map_err(|err| Error::Decompression(err.into()))?; - - debug_assert_eq!(uncompressed.len() as u32, meta.uncompressed_size); - Ok(uncompressed.into()) - } -} - -fn calc_checksum(buffer: &[u8]) -> u128 { - let hash = cityhash_102_128(buffer); - hash.rotate_right(64) -} - pub(crate) fn compress(uncompressed: &[u8]) -> Result { let max_compressed_size = block::get_maximum_output_size(uncompressed.len()); let mut buffer = BytesMut::new(); - buffer.resize(LZ4_META_SIZE + max_compressed_size, 0); + buffer.resize(native_framing::META_SIZE + max_compressed_size, 0); - let compressed_data_size = block::compress_into(uncompressed, &mut buffer[LZ4_META_SIZE..]) - .map_err(|err| Error::Compression(err.into()))?; + let compressed_data_size = + block::compress_into(uncompressed, &mut buffer[native_framing::META_SIZE..]) + .map_err(|err| Error::Compression(err.into()))?; - buffer.truncate(LZ4_META_SIZE + compressed_data_size); + buffer.truncate(native_framing::META_SIZE + compressed_data_size); - let mut meta = Lz4Meta { - checksum: 0, // will be calculated below. - compressed_size: (LZ4_HEADER_SIZE + compressed_data_size) as u32, - uncompressed_size: uncompressed.len() as u32, - }; - - meta.write_header(&mut buffer[LZ4_CHECKSUM_SIZE..]); - meta.checksum = calc_checksum(&buffer[LZ4_CHECKSUM_SIZE..]); - meta.write_checksum(&mut buffer[..]); + native_framing::write_meta(&mut buffer, LZ4_MAGIC, uncompressed.len())?; Ok(buffer.freeze()) } -#[tokio::test] -async fn it_decompresses() { - use futures_util::stream::{self, TryStreamExt}; +#[cfg(test)] +impl super::test_util::TestDecoder for Lz4HttpDecoder<()> { + type Stream + = Lz4HttpDecoder + where + S: Stream> + Unpin; + + fn with_stream(stream: S) -> Self::Stream + where + S: Stream> + Unpin, + { + Lz4HttpDecoder::new(stream) + } +} - let expected = vec![ - 1u8, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, 114, 105, 110, 103, 3, 97, 98, - 99, - ]; +#[cfg(test)] +mod tests { + use crate::compression::lz4::{Lz4HttpDecoder, compress}; + use crate::compression::test_util::test_decoder; + use bytes::Bytes; - let source = vec![ - 245_u8, 5, 222, 235, 225, 158, 59, 108, 225, 31, 65, 215, 66, 66, 36, 92, // checksum - 0x82, // magic number - 34, 0, 0, 0, // compressed size (data + header) - 23, 0, 0, 0, // uncompressed size - 240, 8, 1, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, 114, 105, 110, 103, 3, - 97, 98, 99, - ]; + const UNCOMPRESSED_TAXI_TRIPS: &[u8] = + include_bytes!("../../../tests/it/fixtures/nyc-taxi_trips_0_head_1000.tsv"); - async fn test(chunks: &[&[u8]], expected: &[u8]) { - let stream = stream::iter( - chunks - .iter() - .map(|s| Bytes::copy_from_slice(s)) - .map(Ok::<_, Error>) - .collect::>(), - ); - let mut decoder = Lz4Decoder::new(stream); - let actual = decoder.try_next().await.unwrap().unwrap(); - assert_eq!(actual.data, expected); - assert_eq!( - actual.net_size, - chunks.iter().map(|s| s.len()).sum::() + #[test] + fn decompress_taxi_trips() { + test_decoder::>( + Bytes::from_static(include_bytes!("fixtures/nyc-taxi_trips.lz4")), + UNCOMPRESSED_TAXI_TRIPS, ); } - // 1 chunk. - test(&[&source], &expected).await; - - // 2 chunks. - for i in 0..source.len() { - let (left, right) = source.split_at(i); - test(&[left, right], &expected).await; - - // 3 chunks. - for j in i..source.len() { - let (right_a, right_b) = right.split_at(j - i); - test(&[left, right_a, right_b], &expected).await; - } + #[test] + fn decompress_taxi_trips_checksum() { + test_decoder::>( + Bytes::from_static(include_bytes!("fixtures/nyc-taxi_trips_checksum.lz4")), + UNCOMPRESSED_TAXI_TRIPS, + ); } -} -#[test] -fn it_compresses() { - let source = vec![ - 1u8, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, 114, 105, 110, 103, 3, 97, 98, - 99, - ]; + #[test] + fn decompress_taxi_trips_linked() { + test_decoder::>( + Bytes::from_static(include_bytes!("fixtures/nyc-taxi_trips_linked.lz4")), + UNCOMPRESSED_TAXI_TRIPS, + ); + } - let expected = vec![ - 245_u8, 5, 222, 235, 225, 158, 59, 108, 225, 31, 65, 215, 66, 66, 36, 92, 130, 34, 0, 0, 0, - 23, 0, 0, 0, 240, 8, 1, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, 114, 105, - 110, 103, 3, 97, 98, 99, - ]; + #[test] + fn decompress_taxi_trips_linked_checksum() { + test_decoder::>( + Bytes::from_static(include_bytes!( + "fixtures/nyc-taxi_trips_linked_checksum.lz4" + )), + UNCOMPRESSED_TAXI_TRIPS, + ); + } - let actual = compress(&source).unwrap(); - assert_eq!(actual, expected); + #[test] + fn it_compresses() { + let source = vec![ + 1u8, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, 114, 105, 110, 103, 3, 97, + 98, 99, + ]; + + let expected = vec![ + 245_u8, 5, 222, 235, 225, 158, 59, 108, 225, 31, 65, 215, 66, 66, 36, 92, 130, 34, 0, + 0, 0, 23, 0, 0, 0, 240, 8, 1, 0, 2, 255, 255, 255, 255, 0, 1, 1, 1, 115, 6, 83, 116, + 114, 105, 110, 103, 3, 97, 98, 99, + ]; + + let actual = compress(&source).unwrap(); + assert_eq!(actual, expected); + } } diff --git a/src/compression/mod.rs b/src/compression/mod.rs index 4194e0c4..5c25ce9b 100644 --- a/src/compression/mod.rs +++ b/src/compression/mod.rs @@ -68,3 +68,149 @@ impl Compression { *self != Compression::None } } + +/// Utils for writing ClickHouse's native compression framing (`compress=1`/`decompress=1`). +#[cfg(any(feature = "lz4", feature = "zstd"))] +mod native_framing { + use crate::error::Error; + use bytes::BufMut; + + pub(crate) const CHECKSUM_SIZE: usize = 16; + pub(crate) const HEADER_SIZE: usize = 9; + pub(crate) const META_SIZE: usize = CHECKSUM_SIZE + HEADER_SIZE; + + pub(crate) fn write_meta( + buffer: &mut [u8], + magic_byte: u8, + uncompressed_len: usize, + ) -> Result<(), Error> { + let (mut checksum_bytes, header_and_data_bytes) = buffer.split_at_mut(CHECKSUM_SIZE); + + let compressed_len = u32::try_from(header_and_data_bytes.len()).map_err(|_| { + Error::Compression( + format!( + "compressed size of frame exceeds 4 GiB: {}", + header_and_data_bytes.len() + ) + .into(), + ) + })?; + + let uncompressed_len = u32::try_from(uncompressed_len).map_err(|_| { + Error::Compression( + format!("un-compressed size of frame exceeds 4 GiB: {uncompressed_len}").into(), + ) + })?; + + // https://clickhouse.com/docs/reference/interfaces/specs/NativeFormat#frame-format + let mut header = &mut header_and_data_bytes[..HEADER_SIZE]; + header.put_u8(magic_byte); + header.put_u32_le(compressed_len); + header.put_u32_le(uncompressed_len); + + let checksum = calc_checksum(header_and_data_bytes); + checksum_bytes.put_u128_le(checksum); + + Ok(()) + } + + fn calc_checksum(buffer: &[u8]) -> u128 { + let hash = cityhash_rs::cityhash_102_128(buffer); + hash.rotate_right(64) + } +} + +#[cfg(test)] +mod test_util { + use futures_util::Stream; + use std::cmp; + use std::pin::Pin; + use std::task::{Context, Poll, Waker}; + + use crate::Error; + use crate::response::Chunk; + use bytes::Bytes; + + pub(super) trait TestDecoder { + type Stream: Stream> + Unpin + where + S: Stream> + Unpin; + + fn with_stream(stream: S) -> Self::Stream + where + S: Stream> + Unpin; + } + + pub(super) fn test_decoder(compressed: Bytes, uncompressed: &[u8]) { + // Some normal and some arbitrary/weird chunk sizes to test with. + let chunk_sizes = [32, 53, 64, 67, 128, 131, 256, 277, 384, 463, 512]; + + for chunk_size in chunk_sizes { + let mut offset = 0; + + let mut stream = D::with_stream(ChunkStream { + data: compressed.clone(), + chunk_size, + }); + + loop { + match Pin::new(&mut stream).poll_next(&mut Context::from_waker(Waker::noop())) { + Poll::Ready(Some(Ok(chunk))) => { + assert!( + offset + chunk.data.len() <= uncompressed.len(), + "chunk length ({}) at offset {offset} exceeds expected length ({}) (chunk size {chunk_size})", + chunk.data.len(), + uncompressed.len(), + ); + + for (actual, (offset, expected)) in chunk + .data + .iter() + .zip(uncompressed.iter().enumerate().skip(offset)) + { + assert_eq!( + actual, expected, + "unexpected byte in decompressed data (offset {offset}, chunk size {chunk_size})" + ); + } + + offset += chunk.data.len(); + } + Poll::Ready(Some(Err(e))) => { + panic!("decoder returned error (chunk size {chunk_size}): {e:#}"); + } + Poll::Ready(None) => { + assert_eq!(offset, uncompressed.len(), ""); + break; + } + Poll::Pending => { + panic!( + "decoder returned `Poll::Pending` when underlying implementation did not" + ); + } + } + } + } + } + + struct ChunkStream { + data: Bytes, + chunk_size: usize, + } + + impl Stream for ChunkStream { + type Item = Result; + + fn poll_next(mut self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll> { + let this = &mut *self; + + if this.data.is_empty() || this.chunk_size == 0 { + return Poll::Ready(None); + } + + Poll::Ready(Some(Ok(this + .data + .split_to(cmp::min(this.chunk_size, this.data.len()))))) + } + } +} diff --git a/src/compression/zstd.rs b/src/compression/zstd.rs index fe8e006c..b52db016 100644 --- a/src/compression/zstd.rs +++ b/src/compression/zstd.rs @@ -1,49 +1,35 @@ use std::pin::Pin; use std::task::{Context, Poll, ready}; -use bytes::{BufMut, Bytes, BytesMut}; -use cityhash_rs::cityhash_102_128; -use futures_util::stream::Stream; -use zstd::stream::raw::Operation; - +use crate::compression::native_framing; use crate::error::{Error, Result}; use crate::response::Chunk; +use bytes::{Bytes, BytesMut}; +use futures_util::stream::Stream; +use zstd::stream::raw::Operation; const OUTPUT_BUFFER_SIZE: usize = 64 * 1024; // ClickHouse native compression framing. -const CHECKSUM_SIZE: usize = 16; -const HEADER_SIZE: usize = 9; -const META_SIZE: usize = CHECKSUM_SIZE + HEADER_SIZE; const ZSTD_MAGIC: u8 = 0x90; -fn calc_checksum(buffer: &[u8]) -> u128 { - let hash = cityhash_102_128(buffer); - hash.rotate_right(64) -} - pub(crate) fn compress(uncompressed: &[u8], level: Option) -> Result { let level = level.unwrap_or(zstd::DEFAULT_COMPRESSION_LEVEL); let max_compressed_size = zstd::zstd_safe::compress_bound(uncompressed.len()); let mut buffer = BytesMut::new(); - buffer.resize(META_SIZE + max_compressed_size, 0); - - let compressed_data_size = - zstd::zstd_safe::compress(&mut buffer[META_SIZE..], uncompressed, level) - .map_err(|code| Error::Compression(zstd::zstd_safe::get_error_name(code).into()))?; + buffer.resize(native_framing::META_SIZE + max_compressed_size, 0); - buffer.truncate(META_SIZE + compressed_data_size); + let compressed_data_size = zstd::zstd_safe::compress( + &mut buffer[native_framing::META_SIZE..], + uncompressed, + level, + ) + .map_err(|code| Error::Compression(zstd::zstd_safe::get_error_name(code).into()))?; - // Write header: [magic] [compressed_size] [uncompressed_size] - let mut header = &mut buffer[CHECKSUM_SIZE..META_SIZE]; - header.put_u8(ZSTD_MAGIC); - header.put_u32_le((HEADER_SIZE + compressed_data_size) as u32); - header.put_u32_le(uncompressed.len() as u32); + buffer.truncate(native_framing::META_SIZE + compressed_data_size); - // Write checksum over header + data. - let checksum = calc_checksum(&buffer[CHECKSUM_SIZE..]); - (&mut buffer[..CHECKSUM_SIZE]).put_u128_le(checksum); + native_framing::write_meta(&mut buffer, ZSTD_MAGIC, uncompressed.len())?; Ok(buffer.freeze()) } @@ -183,9 +169,10 @@ fn it_compresses_and_decompresses() { let compressed = compress(&source, None).unwrap(); // Verify the magic byte. - assert_eq!(compressed[CHECKSUM_SIZE], ZSTD_MAGIC); + assert_eq!(compressed[native_framing::CHECKSUM_SIZE], ZSTD_MAGIC); // Verify decompression of the payload. - let decompressed = zstd::bulk::decompress(&compressed[META_SIZE..], source.len()).unwrap(); + let decompressed = + zstd::bulk::decompress(&compressed[native_framing::META_SIZE..], source.len()).unwrap(); assert_eq!(decompressed, source); } From e5fedfed01c02b7085f97a13fc999dd8a0d11b19 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 21:44:05 -0700 Subject: [PATCH 5/8] fix: box `XxHash32` to make `Lz4FramePushDecoder` smaller --- src/compression/lz4/frame.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/compression/lz4/frame.rs b/src/compression/lz4/frame.rs index 265d4c32..574ce7c9 100644 --- a/src/compression/lz4/frame.rs +++ b/src/compression/lz4/frame.rs @@ -29,14 +29,15 @@ enum State { frame: FrameInfo, overhead: usize, total_content_size: usize, - content_hasher: Option, + // 256 bytes that we shouldn't store inline if we don't have to. + content_hasher: Option>, }, Block { frame: FrameInfo, block: BlockInfo, overhead: usize, total_content_size: usize, - content_hasher: Option, + content_hasher: Option>, }, } @@ -79,7 +80,7 @@ impl Lz4FramePushDecoder { self.state = State::NextBlock { overhead: consumed, total_content_size: 0, - content_hasher: frame.content_checksum.then(XxHash32::default), + content_hasher: frame.content_checksum.then(Default::default), frame, }; self.input_buffer.advance(consumed); From 7ec1198b7dbdae6af1d06cc9461b806b0c9fd38c Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 22:00:08 -0700 Subject: [PATCH 6/8] fix: allow `clippy::large_enum_variant` on an internal enum that's boxed anyway --- src/compression/lz4/frame.rs | 5 ++--- src/response.rs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/compression/lz4/frame.rs b/src/compression/lz4/frame.rs index 574ce7c9..a46a9fd9 100644 --- a/src/compression/lz4/frame.rs +++ b/src/compression/lz4/frame.rs @@ -29,15 +29,14 @@ enum State { frame: FrameInfo, overhead: usize, total_content_size: usize, - // 256 bytes that we shouldn't store inline if we don't have to. - content_hasher: Option>, + content_hasher: Option, }, Block { frame: FrameInfo, block: BlockInfo, overhead: usize, total_content_size: usize, - content_hasher: Option>, + content_hasher: Option, }, } diff --git a/src/response.rs b/src/response.rs index 7f7df1d9..aadc94d9 100644 --- a/src/response.rs +++ b/src/response.rs @@ -277,7 +277,7 @@ impl Stream for IncomingStream { } // === Decompress === - +#[allow(clippy::large_enum_variant)] // the structure ultimately gets boxed in `Chunks` enum Decompress { Plain(S), #[cfg(feature = "lz4")] From d4d96afa854620b5683239cc305238eacd79ab91 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 22:30:11 -0700 Subject: [PATCH 7/8] chore: add CHANGELOG entry --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ff560df..7b14c080 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - ReleaseDate +### Fixed + +* Switched Lz4 compression to use HTTP standard `Accept-Encoding` negotiation, fixing a regression in ClickHouse 26.9. ([#482], [issue #468]) + +[#482]: https://github.com/ClickHouse/clickhouse-rs/pull/482 + +[issue #468]: + ## [0.15.2] - 2026-08-24 ### Added From edce3577138d696388a821dba30e2cb27d8fc402 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Tue, 29 Sep 2026 22:30:44 -0700 Subject: [PATCH 8/8] chore: add CHANGELOG entry (2) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b14c080..892b30ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#482]: https://github.com/ClickHouse/clickhouse-rs/pull/482 -[issue #468]: +[issue #468]: https://github.com/ClickHouse/clickhouse-rs/issues/468 ## [0.15.2] - 2026-08-24