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

Reply via email to