Releases: ifwe/bruce
Releases · ifwe/bruce
version 1.0.28
- Properly handle ETIMEDOUT socket error when communicating with Kafka brokers and make socket error log messages more informative.
- Minor unit test code cleanup.
version 1.0.27
- Add support for sending produce requests with a value of 0 for RequiredAcks.
- Prevent Bruce from batching an unbounded number of empty messages if only a message body size limit is configured for batching.
- Fix race condition in thread pool implementation that was causing unit test failure when running tests in release mode on Ubuntu 14 and 15. Since the thread pool code is not yet being used, versions of Bruce prior to this fix are unaffected. Also fix thread pool unit tests.
- Add instructions for setting up a Debian 8 build environment.
version 1.0.26
- Fix a few issues that break release builds on Ubuntu 14 and 15.
version 1.0.25
- Set client ID in produce requests to "bruce" if none was specified with --client_id option. This is a workaround for a bug in Kafka 0.9.0.0 that causes broker to crash on receipt of produce request with empty client ID. See https://issues.apache.org/jira/browse/KAFKA-3088 for details.
- Minor code cleanup, and efficiency improvement in mechanism for passing messages from input thread to router thread.
version 1.0.24
- Rate limit all error messages logged due to error ACKs from Kafka.
- Apply failed delivery attempt limit to messages queued for immediate resend without pause.
- Rename AckErrorNone in counter reports to AckOk.
- Make Bruce aware of new ACK error codes. Change Bruce's action for BrokerNotAvailable from Pause to Discard. Change Bruce's action for ReplicaNotAvailable from Pause to Discard.
version 1.0.23
- Fix Ubuntu 15 build error
version 1.0.22
- Fixed simple bug that caused null pointer dereference during initialization when memory allocation for message data fails.
- Modified dispatcher implementation to use a single thread per Kafka broker. This simplifies the code.
- Fixed dispatcher implementation so that when an error ACK causes the dispatcher to pause, it continues receiving and processing ACKs until all outstanding ACKs have been processed or fast shutdown time limit expiration. This eliminates unnecessary duplicate messages (cases where an ACK was waiting but not processed by Bruce, so the message gets resent unnecessarily).
- Updated documentation and fixed some inaccuracies in descriptions of PartitionKey routing and handling of errors encountered during dispatcher interaction with the Kafka brokers.
- Eliminated --retry_on_unknown_partition option, and made the behavior it formerly specified always enabled. This is a more sensible way to handle "unknown topic or partition" errors, and makes Bruce do the right thing by default during manual broker reconfigurations that involve moving a partition between brokers.
- Included Google Test Framework with source code distribution, and set things up so that Google libraries get statically linked to unit test binaries. This avoids potential build problems.
- Fixed some Ubuntu 15 build errors.
- Upgraded third party pugixml library from 1.2 to 1.7.
- Added --status_loopback_only option, which tells Bruce to make its web interface available only on the loopback interface.
- Set things up so that web interface is restricted to loopback interface during unit tests.
- Show server start time on all web interface pages, and make the look more consistent across pages.
version 1.0.21
- Fixed build error on Ubuntu 15.04 LTS.
- Edited build environment setup instructions.
version 1.0.20
- Added example Node.js client from Ben Diamant.
- Added support for running Bruce in Docker container, from Ben Diamant.
- Various code changes that will facilitate adding input agents for UNIX
domain stream sockets and local TCP, to support clients that are not
able to write to a UNIX domain datagram socket. - Various code cleanup.