Hi, As previously, Heroku has been doing performance testing of 0.11.0.0 RC2. Now that the ProducerPerformance.java tool supports it, we've even been doing testing with the new transactional/idempotence features in KIP-98.
We've tested with idempotency and read_committed consumers and note no notable performance impact there from our perspective. That isn't to say that there is no impact, just that our testing can't see enough of one to be obvious. The new tooling supports `transaction-duration-ms` as a flag, which gives the number of milliseconds between transaction commits in the producer. This setting has vast (and expected) impacts on performance from our perspective. Tuned down to 1ms, we see throughput around 23x lower than without transactions enabled (but with idempotency and read_committed consumers). Tuned to 10ms, we see throughput at about 70% of performance without transactions enabled At 100ms and 1000ms transaction duration, there is no notable impact to throughput with usual operating conditions as far as we can tell. That isn't to say that there is no impact, just that our testing can't see enough of one to be obvious. We have also performed some failure testing with 0.11 transactions enabled, and notice nothing out of the ordinary there. Note that we have not tested the correctness of the feature (as in, does it deliver what is promised), just if the producers or consumers or brokers do anything outwardly strange through the logs etc. All in all, this is shaping up to be a great release. We're going to continue some further testing, but right now are heading towards a +1. Thanks Tom Crayford Heroku Kafka On Fri, Jun 23, 2017 at 2:36 AM, Ismael Juma <ism...@juma.me.uk> wrote: > A quick note on notable changes since rc1: > > 1. A significant performance improvement if transactions are enabled: > https://github.com/apache/kafka/commit/f239f1f839f8bcbd80cce2a4a8643e > 15d340be8e > 2. Fixed a controller regression if many brokers are started > simultaneously: > https://github.com/apache/kafka/commit/c0033b0e0b9e56242752c82f15c638 > 8d041914a1 > 3. Fixed a couple of Connect regressions: > https://github.com/apache/kafka/commit/c029960bf4ae2cd79b22886f4ee519 > c4af0bcc8b > and > https://github.com/apache/kafka/commit/1d65f15f2b656b7817eeaf6ee1d36e > b3e2cf063f > 4. Fixed an import log cleaner issue: > https://github.com/apache/kafka/commit/186e3d5efc79ed803f0915d472ace7 > 7cbec88694 > > Full diff: > https://github.com/apache/kafka/compare/5b351216621f52a471c21826d0dec3 > ce3187e697...0.11.0.0-rc2 > > Ismael > > On Fri, Jun 23, 2017 at 2:16 AM, Ismael Juma <ism...@juma.me.uk> wrote: > > > Hello Kafka users, developers and client-developers, > > > > This is the third candidate for release of Apache Kafka 0.11.0.0. > > > > This is a major version release of Apache Kafka. It includes 32 new KIPs. > > See the release notes and release plan (https://cwiki.apache.org/ > > confluence/display/KAFKA/Release+Plan+0.11.0.0) for more details. A few > > feature highlights: > > > > * Exactly-once delivery and transactional messaging > > * Streams exactly-once semantics > > * Admin client with support for topic, ACLs and config management > > * Record headers > > * Request rate quotas > > * Improved resiliency: replication protocol improvement and > > single-threaded controller > > * Richer and more efficient message format > > > > Release notes for the 0.11.0.0 release: > > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/RELEASE_NOTES.html > > > > *** Please download, test and vote by Tuesday, June 27, 6pm PT > > > > Kafka's KEYS file containing PGP keys we use to sign the release: > > http://kafka.apache.org/KEYS > > > > * Release artifacts to be voted upon (source and binary): > > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/ > > > > * Maven artifacts to be voted upon: > > https://repository.apache.org/content/groups/staging/org/apache/kafka/ > > > > * Javadoc: > > http://home.apache.org/~ijuma/kafka-0.11.0.0-rc2/javadoc/ > > > > * Tag to be voted upon (off 0.11.0 branch) is the 0.11.0.0 tag: > > https://git-wip-us.apache.org/repos/asf?p=kafka.git;a=tag;h= > > 8698fa1f41102f1664b05baa4d6953fc9564d91e > > > > * Documentation: > > http://kafka.apache.org/0110/documentation.html > > > > * Protocol: > > http://kafka.apache.org/0110/protocol.html > > > > * Successful Jenkins builds for the 0.11.0 branch: > > Unit/integration tests: https://builds.apache.org/job/ > > kafka-0.11.0-jdk7/187/ > > System tests: pending (will send an update tomorrow) > > > > /************************************** > > > > Thanks, > > Ismael > > >