Bufstream

Release notes

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 | Status: latest

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 with librdkafka-based clients (including the confluent-kafka Python client)
  • Amended various API responses to match expectations of the segmentio/kafka-go and IBM/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