Release notes
v0.2.0
Release Date: 2024-11-08 | Status: latest
Bug Fixes
- Fix a data race when flushing the intake cache
- Log the correct Kafka address on startup
- Reduce compaction errors by improving etcd locking
- Fix crash when cluster is shut down unexpectedly
- Wait for DNS resolution before registering new nodes
- Fix a bug in epoch calculation that erroneously invalidated in-progress offset updates
- Improve archiving behavior during cluster auto-scaling
Features and Improvements
- Support TLS for all cluster communications, including agent-to-agent and among etcd nodes
- Implement KIP-394
- Improve etcd performance when reading from archives
- Improve memory utilization and cluster performance by increasing default cache sizes
- Add a virtual broker configuration to client IDs, so that Bufstream can present itself as a single broker when necessary
- Improve error output for
bufstream serve
failures - Support deploying Bufstream as a Kubernetes Stateful Set
- Expose configurable liveness and readiness probe timeouts
- Output human readable cluster UUIDs for debugging
- Update configuration defaults for improved read performance
- Shutdown gracefully if Kafka or HTTP listeners fail to avoid cluster panics
- Reduce startup and auto-scaling log verbosity
- Various improvements to CLI reference documentation
- Other miscellaneous performance optimizations
v0.1.3
Release Date: 2024-10-30
Bug Fixes
- Fix a bug in v0.1.2's transaction numbering that silently discarded some commits and aborts
- Return errors when clients attempt to change the outcome of a committed or aborted transaction
- Fix stuck producers and consumers by polling etcd, rather than relying exclusively on leases
- Fix a race that led to serving stale high watermarks and last stable offsets on startup
- Fix compatibility with Java clients by always setting offset to -1 when returning produce errors
- Improve AKHQ reliability by limiting the size of archive chunks
- Various fixes to data management for low-throughput partitions
- Fix archiving of internal usage-tracking topic
- Miscellaneous fixes to log and metrics output
Features and Improvements
- Order transaction-related RPCs with logical clocks, preventing re-ordering within Bufstream
- Support more concurrent producers by decreasing etcd heartbeat frequency
- Support L4 load balancers by defaulting to advertising only public hosts
- Add support for zone-local load balancers
- Improve graceful shutdown logic
- Improve produce reliability by retrying more transient errors
- Improve cluster throughput by increasing default cache size
- Increase cluster throughput and reduce object storage costs by optimizing hedging
- Guard against overlapping storage between clusters with a fingerprint check on startup
- Reduce metrics cardinality by decreasing number of histogram buckets
- Assorted improvements to logging and internal tracing
v0.1.2
Release Date: 2024-08-19 | Status: archived
This release has been archived due to a regression in the transaction processing system. All production workloads should continue to use version 0.1.1.
Bug Fixes
- Fixes error-handling bug in topic auto-creation
- Reduces error probability when Bufstream attempts to calculate the last stable or next unstable offset
- Resolves error when Bufstream attempts to read the
kafka.public_address
value in the Helm chart - Prevents Bufstream from sending empty values for CPU memory limits by setting a reasonable default in the Helm chart
- Assigns all transactions a monotonic number so that concurrent complete operations no longer result in transactions completing multiple times for a topic partition -- Bufstream now applies only the first completion for a given transaction number
- Addresses checkpoint error when Bufstream attempts to archive internal topics
Features and Improvements
- Expands Bufstream's Kafka conformance testing suite
- Exposes Kafka configs in the Helm chart so that they can be set directly
- Adds documentation for the Helm chart and recommended defaults
- Improves debug log output for transaction state changes
- Uncaches transactional producers to expose state transition errors
- Allows topic replication factor to be set to
-1
-- in cases where the topic replication factor is not set to -1 or 1, Bufstream will return an error - Improves compatibility with RedPanda console when displaying topics and offsets
v0.1.1
Release Date: 2024-08-14
Bug Fixes
- Fixes off-by-one error in archive requests
Features and Improvements
- Adds config option
kafka.exact_log_offsets
that when set to true will always return the exact offset for fetch requests - Updates and documents recommended default values in the helm chart
- Improves error handling for produce requests and transactions
v0.1.0
Release Date: 2024-08-09
Bug Fixes
- Fixes panic when coercing a message payload to Confluent Schema Registry format
- Respects
acks=0
setting on produce and does not wait for or guarantee the success of the produce request
Features and Improvements
- Adds helm value
exact_log_sizes
that determines whether exact log sizes should be fetched for all topics and partitions - Documents dynamic configuration options
- Adds configuration options for consumer group session timeout:
group.consumer.session.timeout.ms
,group.consumer.min.session.timeout.ms
,group.consumer.max.session.timeout.ms
v0.0.4
Release Date: 2024-08-06
Bug Fixes
- Fixed memory leak when uploading objects to S3 storage
- Removed redundant zone lookups when resolving metadata requests
- Fixed
Fetch
response to work withlibrdkafka
-based clients (including theconfluent-kafka
Python client) - Amended various API responses to match expectations of the
segmentio/kafka-go
andIBM/sarama
Go clients
Features and Improvements
- Allow command-line flags to override YAML configuration
- Support deleting topics by name with
DeleteTopics
- Expose additional Bufstream-specific broker and topic configuration options
- Reduce debug log volume
- Improve cache throughput
v0.0.3
Release Date: 2024-07-25
Bug Fixes
- Change
dataEnforcement
key in helm chart to an empty object so that it does not emit a warning when coalescing values
Features and Improvements
- Enable retries with backoff by default
- Return an error if Bufstream cannot resolve the producer ID
- Set etcd connection wait time to 2 minutes -- Bufstream will return an error and shut down if it cannot establish a connection to etcd within the 2 minute interval
- Provide traces for all etcd storage errors
- Improve topic metadata management
- Change shut down behavior such that Bufstream will wait for the archiver to finish before shutting down
v0.0.2
Release Date: 2024-07-10
Features and Improvements
- Emit build version in helm chart logs
v0.0.1
Release Date: 2024-07-09
- Initial release