This is an automated email from the ASF dual-hosted git repository.
hubcio pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new c5579df62 docs: clarify compression placeholders (#3366)
c5579df62 is described below
commit c5579df62cfed32bdb9b61c763d64b4f7f389bc6
Author: Arun Singh <[email protected]>
AuthorDate: Fri May 29 14:12:51 2026 +0530
docs: clarify compression placeholders (#3366)
---
README.md | 5 ++++-
core/sdk/README.md | 2 +-
core/server/config.toml | 8 +++++---
examples/rust/README.md | 2 +-
4 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index aee854ca8..3db953582 100644
--- a/README.md
+++ b/README.md
@@ -85,6 +85,9 @@ The name is an abbreviation for the Italian Greyhound - small
yet extremely fast
- **[Model Context
Protocol](https://github.com/apache/iggy/tree/master/core/ai/mcp)** - provide
context to LLM with **MCP server**
- Optional server-side as well as client-side **data encryption** using
AES-256-GCM
- Optional metadata support in the form of **message headers**
+- Server-side message compression is not supported yet. Topic compression
values
+ are reserved for future disk/network compression support; use message headers
+ for manual compression today (see
`examples/rust/src/message-headers/message-compression`).
- Optional **data backups and archiving** to disk or **S3** compatible cloud
storage (e.g. AWS S3)
- Support for **OpenTelemetry** logs & traces + Prometheus metrics
- Built-in **CLI** to manage the streaming server installable via `cargo
install iggy-cli`
@@ -320,7 +323,7 @@ Get `dev` stream details:
`cargo run --bin iggy -- -u <iggy_username> -p <iggy_password> stream get dev`
-Create a topic named `sample` (numerical ID will be assigned by server
automatically) for stream `dev`, with 2 partitions (IDs 1 and 2), disabled
compression (`none`) and disabled message expiry (skipped optional parameter):
+Create a topic named `sample` (numerical ID will be assigned by server
automatically) for stream `dev`, with 2 partitions (IDs 1 and 2), no topic
compression (`none`), and disabled message expiry (skipped optional parameter).
Other compression values are reserved for future server-side support:
`cargo run --bin iggy -- -u <iggy_username> -p <iggy_password> topic create
dev sample 2 none`
diff --git a/core/sdk/README.md b/core/sdk/README.md
index 710863fb1..81e80b91f 100644
--- a/core/sdk/README.md
+++ b/core/sdk/README.md
@@ -43,7 +43,7 @@ Official Rust client SDK for [Apache
Iggy](https://iggy.apache.org), the persist
- **Auto-commit** offset policies: `Interval`, `When`, `After`,
`IntervalOrWhen`, `IntervalOrAfter`, or disabled.
- **Stream builder** (`IggyStream`, `IggyStreamProducer`,
`IggyStreamConsumer`) for declarative producer + consumer setup on shared or
separate stream/topic.
- **Reliability**: automatic reconnection with retries, heartbeat, send
retries, and offset auto-commit handled by the high-level API.
-- **Message features**: optional headers (`HeaderKey` / `HeaderValue`),
client-side AES-256-GCM encryption (via `Aes256GcmEncryptor`), per-topic
compression (currently `None` and `Gzip`), server-honored message expiry, and
server-side deduplication.
+- **Message features**: optional headers (`HeaderKey` / `HeaderValue`),
client-side AES-256-GCM encryption (via `Aes256GcmEncryptor`), topic
compression metadata (`None` and `Gzip`; no runtime compression yet),
server-honored message expiry, and server-side deduplication.
- **Admin**: stream/topic/partition CRUD, consumer-group management,
server-side consumer offsets, system stats.
## Installation
diff --git a/core/server/config.toml b/core/server/config.toml
index 1a58db6c8..d6d0bdf24 100644
--- a/core/server/config.toml
+++ b/core/server/config.toml
@@ -415,13 +415,15 @@ key = ""
# Compression configuration
[system.compression]
+# Reserved for future server-side compression support; use "none" today.
+# For manual compression, store the algorithm in message headers.
# Allows overriding the default compression algorithm per data segment
(boolean).
-# `true` permits different compression algorithms for individual segments.
-# `false` means all data segments use the default compression algorithm.
+# `true` will permit different compression algorithms for individual segments.
+# `false` will make all data segments use the default compression algorithm.
allow_override = false
# The default compression algorithm used for data storage (string).
-# "none" indicates no compression, other values can specify different
algorithms.
+# "none" indicates no compression. Other values are reserved for future
support.
default_algorithm = "none"
# Stream configuration
diff --git a/examples/rust/README.md b/examples/rust/README.md
index c86c5ad35..d1bd36693 100644
--- a/examples/rust/README.md
+++ b/examples/rust/README.md
@@ -103,7 +103,7 @@ cargo run --example message-headers-type-consumer
Demonstrates using HeaderKey/HeaderValue for message metadata instead of
payload-based typing, with header-based message routing.
-Shows how user headers can be used for message compression in transit:
+Shows manual message compression using headers. This is the current workaround
while built-in compression is unsupported:
```bash
cargo run --example message-headers-compression-producer