Package Release Info

kafka-2.1.0-bp152.1.9

Update Info: Base Release
Available in Package Hub : 15 SP2

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

kafka-source

Change Logs

* Tue Jan 14 2020 Micha? Rostecki <mrostecki@opensuse.org>
- Remove binary packages, leave only the source package. The only
  purpose of this package is to provide Kafka protobuf definitions
  for envoy-proxy. The binary had no real users in openSUSE and
  was blocking aarch64 builds of envoy-proxy.
- Remove patches which are not needed anymore:
  * rotate-gc-log.patch
  * lock-down-jmxremote.patch
* Tue Jan 14 2020 Micha? Rostecki <mrostecki@opensuse.org>
- Do not exlude to x86_64.
* Mon Nov 11 2019 Micha? Rostecki <mrostecki@opensuse.org>
- Remove condition for SLE 12, as it is not supported anymore.
- Own the side-docs directory unconditionally - SLE 15 also needs
  that declaration.
* Fri Nov 08 2019 Micha? Rostecki <mrostecki@opensuse.org>
- Fetch sources from Github, since the tarball is not available
  on eu-apache.org anymore.
* Tue Nov 05 2019 Micha? Rostecki <mrostecki@opensuse.org>
- Add source package - envoy-proxy needs it for Kafka protobuf
  files.
* Tue Jan 08 2019 Thomas Bechtold <tbechtold@suse.com>
- Mark log4j.properties config file with "noreplace". Otherwise,
  adjustments to the config file will be overwritten during a package
  update.
* Tue Jan 08 2019 Thomas Bechtold <tbechtold@suse.com>
- update to 2.1.0:
  - Overloaded StreamsBuilder Build Method to Accept java.util.Properties
  - Add Codec for ZStandard Compression
  - Add UUID Serde
  - Introduce delivery.timeout.ms producer config (KIP-91)
  - Avoid redundant requests to zookeeper when reassign topic partition
  - DNS alias support for secured connections
  - Lookup indices may cause unnecessary page fault
  - Streams does not warn about missing input topics, but hangs
  - Move check for super user in SimpleAclProvider before ACL evaluation
  - Support casting values with bytes schema to string
  - Make max.connections.per.ip.overrides a dynamic config
  - Speed up event processing on the controller
  - Reduce Kafka Streams Footprint
  - Kafka clients should try to use multiple DNS resolved IP addresses if the first one fails
  - Zombie replicas must be fenced
  - ConsumerGroupCommand should use new AdminClient
  - Kafka Connect - Plugins class should have a constructor that can take in parent ClassLoader
  - Consolidate ExtendedSerializer/Serializer and ExtendedDeserializer/Deserializer
  - Reduce NPath exceptions in Connect
  - Add mechanism to delay response to failed client authentication
  - Make Streams Window retention time strict
  - Export Admin Client metrics through Stream Threads
  - Remove caching wrapper stores if cache-size is configured to zero bytes
  - Document read-write lock usage of caching enabled stores
  - Mute logger for reflections.org at the warn level in system tests
  - Reduction the contention between metadata update and metadata read operation
  - Session Window store should set topic policy `compact,cleanup`
  - Allow AclCommand to use AdminClient API
  - Reduce number of rebalance for large consumer groups after a topic is created
  - Update release script to generate announcement email text
  - Allow kafka-reassign-partitions.sh and kafka-log-dirs.sh to take admin client property file
  - replica should be in-sync if its LEO equals leader's LEO
  - KTable Reduce should check for invalid conditions
  - Add support for Custom SASL extensions in OAuth authentication
  - Enhance KafkaStreams start method javadoc
  - Make rate & total metrics documentation consistent
  - Add system test for log compaction
  - MM should handle timeouts in commitSync
  - Improve LogCleaner behavior on error
  - KIP-328: Add Window Grace Period (and deprecate Window Retention)
  - Initial Kafka support for Java 11
  - Fix MetricsTest test flakiness
  - KStream.merge is not documented
  - Migrate Streams API to Duration instead of longMs times
  - replaceSegments() should not call asyncDeleteSegment() for segments which have been removed from segments list
  - Streams should be more fencing-sensitive during task suspension under EOS
  - StopReplicaRequest should attempt to remove future replica for the partition only if future replica exists
  - Let KStream.print() to flush on each printed line
  - Improve error message when trying to produce message without key for compacted topic
  - Allow OffsetsForLeaderEpoch requests with topic describe ACL (KIP-320)
  - Add fencing to replication protocol (KIP-320)
  - KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde
  - FunctionConversions in Streams-Scala should be private
  - Naming Join and Grouping Repartition Topics
  - Do not fail broker on out of range offsets in replica fetcher
  - Enable dynamic key/truststore update with same filename/password
  - Improve Transformer interface JavaDoc
  - Store leader epoch in offset commit metadata
  - Allow LogCleanerManager.resumeCleaning() to be used concurrently
  - Use lazy allocation for SslTransportLayer buffers
  - Serde Inheritance in Streams DSL
  - print the actual cluster bootstrap address on authentication failures
  - Improve Streams close timeout semantics
  - ConnectStandaloneFileTest system tests do not pass
  - Replace AdminUtils.createOrUpdateTopicPartitionAssignmentPathInZK with TestUtils.createTopic in unit tests
  - Acls for PrincipalType User are case sensitive
  - Stream timestamp computation needs some further thoughts
  - Committed offsets should not be deleted if a consumer is still active (KIP-211)
  - ConcurrentModificationException when iterating over Kafka Metrics
  - Fix findbugs warning about OffsetStorageWriter#currentFlushId
  - Infinite loop if all input topics are unknown at startup
  - KafkaMetricsConfig properties and description notably missing from documentation
  - KafkaProducer.send() blocks and generates TimeoutException if topic name has illegal char
  - Inconsistency in consumer group related ACLs
  - kafka-acls command should be able to list per principal
  - No response when deleting topics and delete.topic.enable=false
  - Give client MetricsReporter auto-generated client.id
  - IllegalArgumentException in RocksDB when RocksDBException being generated
  - OOM as the result of creation of 5k topics
  - KafkaLog4jAppender deadlocks when logging from producer network thread
  - Kafka Streams hangs when not able to access internal topics
  - Documentation about "exactly_once" doesn't mention "transaction.state.log.min.isr"
  - Fetcher.getTopicMetadata() should return all partitions for each requested topic
  - Follower should not send OffsetForLeaderEpoch for undefined leader epochs
  - Extend `TopologyDescription.Sink` to return `TopicNameExtractor`
  - Connect Rest Extension Plugin issue with Class Loader
  - Kafka Connect API module depends on Jersey
  - Connect isolation whitelist does not include new primitive converters (KIP-305)
  - kafka-consumer-groups.sh NullPointerException describing round robin or sticky assignors
  - Connect isolation whitelist does not include SimpleHeaderConverter
  - Connect's new numeric converters should be in a different package
  - ConnectSchema#equals() broken for array-typed default values
  - ConfigTransformer doesn't handle null values
  - Kafka Streams may drop rocksb window segments before they expire
  - WindowStoreBuilder incorrectly initializes CachingWindowStore
  - VerifiableProducer does not work properly with --message-create-time argument
  - Use bulkloading for RocksDBSegmentedBytesStore during init
  - Intermittent test failure with GSSAPI authentication failure
  - Lagging high watermark can lead to committed data loss after ISR expansion
  - KafkaLog4jAppender - Appender exceptions are propagated to caller
  - kafka-consumer-group doesn't describe existing group
  - Kafka Streams doesn't properly balance partition assignment
  - Duplicates when searching kafka stream state store with caching
  - Follower should truncate after every leader epoch change
  - In testHWCheckpointWithFailuresSingleLogSegment, wait until server1 has joined the ISR before shutting down server2
  - State-store can desynchronise with changelog
  - Remove heartbeat delayed operation for those removed consumers at the end of each rebalance
  - Exception while running kafka-acls.sh from 1.0 env on target Kafka env with 1.1.1
  - Kafka Connect ConfigProvider not invoked before validation
  - -total metrics in Streams are incorrect
  - Externalized secrets are revealed in task configuration
  - A link to Apache BookKeeper project is broken
  - Kafka-Streams-Scala DSL transform shares transformer instance
  - Timing issue in SimpleAclAuthorizer with concurrent create/update
  - Request and response total metrics record bytes instead of request count
  - ConcurrentModificationException in FetchSessionHandler in heartbeat thread
  - Producer getting fenced may cause Streams to shut down
  - Loading offsets and group metadata hangs with large group metadata records
  - Set open ACL permissions for old consumer znode path
  - Transient failure in SslSelectorTest.testCloseConnectionInClosingState
  - KTable to KTable join invocation does not resolve in Scala DSL
  - Sender should reset next batch expiry time between poll loops
  - Use of filter method in KTable.scala may result in StackOverflowError
  - Fix race condition between log cleaner thread and log retention thread when topic cleanup policy is updated
  - NPE due to lack of SASLExtensions in SASL/OAUTHBEARER
  - Protocol changes for KIP-320
  - Wrong error code returned for OffsetsForLeaderEpoch from non-replica
  - Connect logs 'this' for anonymous inner classes
  - Fix IdlePercent and NetworkProcessorAvgIdlePercent metric calculation
  - topic level segment.bytes and segment.ms not taking effect immediately
  - Retry when possible in AdminClient.listConsumerGroups
  - send.buffer.bytes should be allowed to set -1 in KafkaStreams
  - Streams Scala wrapper should not cache serdes
  - An equal sign in a property value causes the broker to fail
  - Compacted topic segments that precede the log start offset are not cleaned up
  - Offset commit failure after upgrading brokers past KIP-211/KAFKA-4682
  - Validate topic configs prior to topic creation
  - OffsetsForLeaderEpoch may incorrectly respond with undefined epoch causing truncation to HW
  - DeadLetterQueueReporter throws NPE if transform throws NPE
  - Enable idle expiry of connections which are never selected
  - Concurrency bug in updating RequestsPerSec metric
  - Connect Values converter uses incorrect date format string
  - Kafka brokers cannot provide OAuth without a token
  - Fail to shutdown ReplicaManager during broker cleaned shutdown
  - NoSuchElementException is raised because controlBatch is empty
  - SchemaProjector is not properly handling Date-based logical types
  - LeaderAndIsrRequest should be sent to the shutting down broker
  - Streams should allow headers to be passed to Serializer
  - Fix test SuppressionDurabilityIntegrationTest.shouldRecoverBufferAfterShutdown()
  - Flaky test `DyanamicBrokerReconfigurationTest.testTrustStoreAlter`
  - KafkaAdminClient#describeAcls should handle invalid filters gracefully
  - common.requests.CreatePartitionsRequest uses clients.admin.NewPartitions
  - double deallocation of producer batch upon expiration of inflight requests and error response
  - Flaky test: SslTransportLayerTest.testListenerConfigOverride
  - Flaky test SaslAuthenticatorFailureDelayTest.testInvalidPasswordSaslPlain
  - Transactional Ids Left in Pending State by TransactionStateManager During Transactional Id Expiration Are Unusable
  - [kafka-streams-scala_2.11] Foreach results in StackOverflowError
  - KafkaConsumer doesn't report records-lag if isolation.level is read_committed
  - StatefulProcessorNode tries to connect state store to processor before it is added
  - PushHttpMetricsReporter should not convert metric value to double
  - Console Consumer - system test fails
  - System Test Failure - security_test.SecurityTest.test_client_ssl_endpoint_validation_failure
  - Replace findBugs with spotBugs for Java 9+ support
  - Enable topic unclean leader election to be enabled without controller change
  - Rename errors.allowed.max property in Connect to errors.tolerance
  - Allow replication factor to be set via a configuration property for the Connect DLQ topic
  - Add headers with error context in messages written to the Connect DeadLetterQueue topic
  - Support to exclude the internal topics in kafka-topics.sh command
  - Update 2.0 documentation to reflect changed quota behaviors by KIP-219
  - DeadLetterQueue throws a NullPointerException
  - consider fencing zookeeper updates with controller epoch zkVersion
  - batch LeaderAndIsr requests during auto preferred leader election
  - Fix rat and checkstyle plugins configuration for Java 11 support
  - Upgrade Jacoco for Java 11 support
  - Fix SSL tests when running with Java 11
  - Fix SASL Kerberos tests with Java 11
  - Upgrade Jetty for preliminary Java 11 and TLS 1.3 support
  - Kafka Connect - Plugins class should have a constructor that can take in parent ClassLoader
  - Update release script to generate announcement email text
  - Enhance KafkaStreams start method javadoc
  - replaceSegments() should not call asyncDeleteSegment() for segments which have been removed from segments list
  - Streams should be more fencing-sensitive during task suspension under EOS
  - Do not fail broker on out of range offsets in replica fetcher
  - Use lazy allocation for SslTransportLayer buffers
  - ConcurrentModificationException when iterating over Kafka Metrics
  - Cast transformation fails if record schema contains timestamp field
  - Fetcher.getTopicMetadata() should return all partitions for each requested topic
  - kafka-consumer-groups.sh NullPointerException describing round robin or sticky assignors
  - Intermittent test failure with GSSAPI authentication failure
  - Lagging high watermark can lead to committed data loss after ISR expansion
  - Kafka Streams doesn't properly balance partition assignment
  - Duplicates when searching kafka stream state store with caching
  - Follower should truncate after every leader epoch change
  - In testHWCheckpointWithFailuresSingleLogSegment, wait until server1 has joined the ISR before shutting down server2
  - State-store can desynchronise with changelog
  - Remove heartbeat delayed operation for those removed consumers at the end of each rebalance
  - Exception while running kafka-acls.sh from 1.0 env on target Kafka env with 1.1.1
  - Kafka Connect ConfigProvider not invoked before validation
  - Externalized secrets are revealed in task configuration
  - Kafka-Streams-Scala DSL transform shares transformer instance
  - Timing issue in SimpleAclAuthorizer with concurrent create/update
  - Request and response total metrics record bytes instead of request count
  - ConcurrentModificationException in FetchSessionHandler in heartbeat thread
  - Producer getting fenced may cause Streams to shut down
  - Set open ACL permissions for old consumer znode path
  - Producer should handle COORDINATOR_LOADING error in TxnOffsetCommit
  - Concurrent DeleteRecords can lead to fatal OutOfSequence error in producer
  - KTable to KTable join invocation does not resolve in Scala DSL
  - Use of filter method in KTable.scala may result in StackOverflowError
  - Connect logs 'this' for anonymous inner classes
  - Fix IdlePercent and NetworkProcessorAvgIdlePercent metric calculation
  - Retry when possible in AdminClient.listConsumerGroups
  - Log cleaner crashes when empty batches are retained with idempotent or transactional producers
  - Streams Scala wrapper should not cache serdes
  - OffsetsForLeaderEpoch may incorrectly respond with undefined epoch causing truncation to HW
  - DeadLetterQueueReporter throws NPE if transform throws NPE
  - Enable idle expiry of connections which are never selected
  - Concurrency bug in updating RequestsPerSec metric
  - Connect Values converter uses incorrect date format string
  - Fail to shutdown ReplicaManager during broker cleaned shutdown
  - NoSuchElementException is raised because controlBatch is empty
  - SchemaProjector is not properly handling Date-based logical types
  - Transactional Ids Left in Pending State by TransactionStateManager During Transactional Id Expiration Are Unusable
  - KafkaConsumer doesn't report records-lag if isolation.level is read_committed
  - DeadLetterQueue throws a NullPointerException
  - batch LeaderAndIsr requests during auto preferred leader election
  - Configurable Quota Management (KIP-257)
  - Add support for Prefixed ACLs
  - Externalize Secrets for Kafka Connect Configurations
  - KIP-295 Add Streams Config for Optional Optimization
  - Avoid long or infinite blocking in the consumer
  - Offer a --version flag to print the kafka version
  - Update tools relying on old producer to use new producer.
  - KIP-237: More Controller Health Metrics
  - JmxTool should exit out if a provided query matches no values
  - Adjust default values of log.retention.hours and offsets.retention.minutes
  - Consumer should not block in poll on coordinator discovery
  - KIP-86: Configurable SASL callback handlers
  - Partition re-assignment tool should check types before persisting state in ZooKeeper
  - Allow dynamic routing of output records
  - Add a sensor to KafkaStreams to track records that have been dropped due to having a null key
  - Console Consumer should only poll for up to max messages
  - Replace uses of old consumer with the new consumer
  - ReplayLogProducer not using the new Kafka consumer
  - ConsoleProducer uses deprecated BaseProducer
  - max.connections.per.ip minimum value to be zero to allow IP address blocking
  - Support aggregatedJavadoc in Java 9
  - Remove Deprecated AdminClient from Streams Resetter Tool
  - Kafka metrics templates used in document generation should maintain order of tags
  - Consider moving validation in KafkaConsumer ahead of call to acquireAndEnsureOpen()
  - Improve the quota throttle communication.
  - Users forget `--execute` in the offset reset tool
  - KIP-222: Add "describe consumer groups" and "list consumer groups" to KafkaAdminClient
  - Postpone normal processing of tasks within a thread until restoration of all tasks have completed
  - report a metric of the lag between the consumer offset and the start offset of the log
  - Improve Streams metrics for skipped records
  - QueryableStateIntegrationTest#queryOnRebalance should accept raw text
  - Allow timestamp manipulation in Processor API
  - Add MockProcessorContext to public test-utils
  - Improving performance of the function ControllerChannelManager.addUpdateMetadataRequestForBrokers
  - TimeWindows causes unordered calls to windowed aggregation functions
  - Add API version as a tag for the RequestsPerSec metric
  - Add toString() method to kafka connect Field class
  - Update controller to handle changes to unclean.leader.election.enable
  - Set default retention ms for Streams repartition topics to Long.MAX_VALUE
  - Enhance ByteStore exceptions with more context information
  - Add ENDPOINT_NOT_FOUND_ON_LEADER error code for missing listener
  - Use single-point queries than range queries for windowed aggregation operators
  - KIP-255: OAuth Authentication via SASL/OAUTHBEARER
  - Add TimeoutException to KafkaConsumer#position()
  - Re-write simple benchmark in system tests with JMXTool
  - Add scripts for DumpLogSegments
  - RocksDBSegmentedBytesStoreTest does not cover time window serdes
  - Speed up the processing of TopicDeletionStopReplicaResponseReceived events on the controller
  - Improve efficiency of KafkaAdminClient.describeTopics()
  - Add StreamsConfig prefix for different consumers
  - Improve error message if state store is not found
  - Implement a Scala wrapper library for Kafka Streams
  - Segment and Stamped implement Comparable, but don't override equals.
  - Remove EOS producer config max.in.flight.request.per.connection=1
  - Connect deserialization log message should distinguish key from value
  - The Trogdor coordinator should track task statuses
  - KIP-277 - Fine Grained ACL for CreateTopics API
  - org.apache.kafka.clients.admin.Config has broken equals and hashCode method.
  - Simplify state store recovery
  - Kafka Connect handling of bad data
  - Add listener name to AuthenticationContext
  - responses not logged properly in controller
  - Broker should load credentials from ZK before requests are allowed
  - Connect Rest Extension Plugin
  - Add unit test for ReplicaAlterLogDirsThread
  - Improve logging when topics aren't known and assignments skipped
  - Remove deprecated APIs from KIP-120 and KIP-182 in Streams
  - Add transformValues() method to KTable
  - KIP-244: Add Record Header support to Kafka Streams Processor API
  - add producer metrics exporting in KafkaStreams.java
  - Document that Processor objects can be reused
  - Add primitive numeric converters to Connect
  - Update KafkaZkClient debug log
  - Add documentation for accessing Headers on Kafka Streams Processor API
  - Use Java AdminClient in DeleteRecordsCommand
  - Add getter to AbstractStream class to make internalTopologyBuilder accessible outside of package
  - Add max.block.ms to consumer for default timeout behavior
  - Kafka run class doesn't exclude test-sources jar
  - KafkaConsumer.position should wait for assignment metadata
  - Mute logger for reflections.org at the warn level in system tests
  - Decrease consumer request timeout to 30s
  - Make Streams Runtime Error User Friendly in Case of Serialisation exception
  - AdminClient should handle FindCoordinatorResponse errors
  - Review the NetworkClient log level used
  - Kafka consumer can hang when position() is called on a non-existing partition.
  - Invalid characters in config properties not being validated?
  - Default ssl.endpoint.identification.algorithm should be https
  - Consumer.poll() stuck in loop if wrong credentials are supplied
  - kafka unable to reconnect to zookeeper behind an ELB
  - Extract WindowedSerde to public APIs
  - KafkaConsumer.position may hang forever when deleting a topic
  - invalid client sasl.jaas.config triggers NullPointerException
  - TopologyTestDriver must handle streams created with patterns
  - Deprecate and remove internal converter configs
  - Remove deprecated new-consumer option for tools
  - Unsafe use of expired sensors
  - StreamThread.shutdown() need to interrupt the stream threads to break the loop
  - Check Connector.config() and Transformation.config() returns a valid ConfigDef
  - Adding checks on "version" field for tools using it
  - Removed unused parameter ProcessorContext
  - Windows: Consumers not polling when isolation.level=read_committed
  - ERROR "SubscriptionInfo - unable to decode subscription data: version=2" when upgrading from 0.10.0.0 to 0.10.2.1
  - Issues with protocol version when applying a rolling upgrade to 1.0.0
  - Improve sink connector topic regex validation
  - Log cleaner thread may die on legacy segment containing messages whose offsets are too large
  - Broken symlink interrupts scanning the plugin path
  - KafkaConsumer ran into Unknown error fetching data for topic-partition caused by integer overflow in FileLogInputStream
  - Fix AdminClient error handling when metadata changes
  - libs directory has duplicate javassist jars
  - Fast leader fail over can lead to log divergence between leader and follower
  - NullPointerException on KStream-GlobalKTable leftJoin when KeyValueMapper returns null
  - Deprecate KafkaStreams constructor taking StreamsConfig parameter
  - Update ZooKeeper to 3.4.12, Gradle and other minor updates
  - Prevent misconfiguration of advertised listeners
  - Inconsistent exception type from KafkaConsumer.position
  - Remove deprecated metrics in 2.0
  - KafkaProducer with transactionId endless waits when bootstrap server is down
  - Connect: Plugin scan is very slow
  - New Connect header support doesn't define `converter.type` property correctly
  - Use actual first offset of messages when rolling log segment for magic v2
  - Consumer.poll may not trigger rebalance in time when there is a task migration
  - â??entity_typeâ? not exactly in description of kafka-configs.sh
  - SourceTask#stop() not called after exception raised in poll()
  - Connect standalone SASL file source and sink test fails without explanation
  - ConsumerGroupCommand hangs if even one of the partition is unavailable
  - if set topic config segment.ms=0 Kafka broker won't be able to start
  - The controller should be able to handle a partially deleted topic
  - Use non-zero status code when kafka-configs.sh fails
  - Fix RoundTripWorkload and make k/v generation configurable
  - ConfigCommand failing to alter configs
  - JBOD configured broker should not die if log directory is invalid
  - Checking hasNext from SegementIterator could throw InvalidStateStoreException
  - broker failed to handle request due to OOM
  - Streams integration tests hang during shutdown
  - GlobalStateManagerImpl should not write offsets of in-memory stores in checkpoint file
  - ConsumerPerformance resets offsets on every startup
  - Kafka Connect Header Null Pointer Exception
  - KTable should use user source topics if possible and not create changelog topic
  - waitOnState waits for the wrong state instead of the target one
  - Is Kafka imapcted by critical vulnerqbilty CVE-2018-7489
  - Down-conversion fails for records with headers
  - Transient test failure: SslTransportLayerTest.testNetworkThreadTimeRecorded
  - TopologyTestDriver error when dealing with stores from GlobalKTable
  - ConsumerPerformance fails to consume all messages on topics with large number of partitions
  - kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION
  - Scheduler cannot be cancelled from Punctuator
  - TopologyTestDriver fails when topoloy under test uses EXACTLY_ONCE
  - Unclean leader election metric no longer working
  - Intermittent test failure in CustomQuotaCallbackTest
  - AbstractProcessor created in SimpleBenchmark should call super#init
  - DescribeConfigs does not return error for non-existent topic
  - GlobalKTable GlobalStateStore never finishes restoring when consuming aborted messages
  - Surprising UNKNOWN_TOPIC error for produce/fetch requests to non-replicas
  - connections-created metric does not behave as expected
  - DEFAULT_PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG is private
  - Avoid range scans when forwarding values in window store aggregations
  - Consumer should retry when encountering unknown topic or partition error
  - log cleaner should handle the case when the size of a message set is larger than the max message size
  - Race condition between StreamThread and GlobalStreamThread stopping
  - ResponseMetadata calculates latency incorrectly (and therefore ZooKeeperRequestLatencyMs is incorrect)
  - Kafka fails to start with Java 10 due to faulty Java version detection
  - LeaderEpochFileCache.endOffsetFor() should check for UNDEFINED_EPOCH explicitly
  - NPE when reinitializeStateStores with eos enabled
  - Concurrency conflicts in SampledStat
  - KStreams Scala API: incorrect Javadocs and misleading parameter name
  - Remove completedFetch upon a failed parse if it contains no records.
  - NPE when querying global state store not in READY state
  - Controller deadlock following session expiration
  - Improve error message when connecting processor with a global store
  - Mirrormaker waits to shut down forever on produce failure with abort.on.send.failure=true
  - Kafka Streams does not commit transactions if data is produced via wall-clock punctuation
  - Trogdor documentation points to wrong location for trogdor.sh
  - Broker uses significant amount of memory during down-conversion
  - ZkData - Consumers offsets Zookeeper path is not correct
  - Scala API Wrapper for Streams uses default serializer for table aggregate
  - In-sync replica delayed during fetch if replica throttle is exceeded
  - alterReplicaLogDirs() should grab partition lock when accessing log of the future replica
  - TopologyTestDriver does not allow pre-populating state stores that have change logging
  - setting invalid timestamp causes Kafka broker restart to fail
  - AdminClient.deleteRecords() may cause replicas unable to fetch from beginning
  - Missing Connector Config (errors.deadletterqueue.topic.name) kills Connect Clusters
  - Connect Rest Extension Plugin issue with Class Loader
  - Fix defective documentations for KStream/KTable methods
  - Performance issue upgrading to kafka 1.0.1 or 1.1
  - Source KTable checkpoint is not correct
  - Kafka Streams RocksDB bulk loading config may not be honored with customized RocksDBConfigSetter
  - super.users doesn't work with custom principals
  - ReplicaVerificationTool should not use the deprecated SimpleConsumer
  - Kafka Connect API module depends on Jersey
  - The TimeUnit is neglected by KakfaConsumer#close(long, TimeUnit)
  - DelegatingClassLoader creates plugin instance even if its not Versioned
  - Connect isolation whitelist does not include new primitive converters (KIP-305)
  - Connect isolation whitelist does not include SimpleHeaderConverter
  - NPE when creating connector
  - Kafka Streams Processor API allows you to add sinks and processors without parent
  - Connect's new numeric converters should be in a different package
  - ConnectSchema#equals() broken for array-typed default values
  - "Unexpected resource type GROUP" when describing broker configs using latest admin client
  - ConnectRestApiTest fails assertion
  - ConfigTransformer doesn't handle null values
  - Broker startup could be inefficient when using old message format
  - Concurrent createTopics calls may throw NodeExistsException
  - ReplicaFetcher thread may die because of inconsistent log start offset in fetch response
  - StreamThread does not check for state again after pollRequests()
  - PushHttpMetricsReporter may deadlock when processing metrics changes
  - Broker shutdown during SSL handshake may be handled as handshake failure
  - SASL/OAUTHBEARER client response is missing %x01 separators
  - getMatchingAcls throws StringIndexOutOfBoundsException for empty resource name
  - ZooKeeper client times out with localhost due to random choice of ipv4/ipv6
  - Error deserializing assignment after rebalance
  - Remove old Scala consumer and all related code, tests, and tools
  - Drop support for Java 7
  - Don't throw TopologyBuilderException during runtime
  - Remove deprecated punctuate method
  - Upgrade jetty library version
  - Update documentation for SASL/PLAIN and SCRAM to use callbacks
  - Allow dynamic broker configs to be configured in ZooKeeper before starting broker
  - Enable dynamic reconfiguration of SSL truststores
  - Log cleaner fails with transaction markers that are deleted during clean
  - Incorrect check for keystore/truststore dynamic update
  - Add authorization tests for custom principal types
  - AdminClient does not refresh metadata on broker failure
  - Request handler deadlocks attempting to acquire group metadata lock
  - Remove old Scala producer and all related code, tests, and tools
  - Rename errors.allowed.max property in Connect to errors.tolerance
  - Allow replication factor to be set via a configuration property for the Connect DLQ topic
  - Add headers with error context in messages written to the Connect DeadLetterQueue topic
  - Additional authorization test cases
  - Rewrite KStreamPeekTest at processor level avoiding driver usage
  - Add unit tests for handling of authentication failures in clients
  - discardChannel should be released in MockSelector#completeSend
  - Blocking call such as position(), partitionsFor(), committed() and listTopics() should have a timeout
  - FAILING TEST: kafka.api.ProducerBounceTest > testBrokerFailure
  - Add the Message/Record set protocol to the protocol docs
  - Update GetOffsetShell tool to not rely on old producer.
  - Improve test coverage of StreamsThread
  - Improve test coverage of Stores
  - Add Delegation Token Operations to KafkaAdminClient
  - Remove duplicate Java Resource class.
  - Remove duplicate Scala ResourceNameType class
  - Use JSON for /kafka-acl-extended-changes path
  - Rename ResourceNameType.ANY to MATCH
  - Investigate if its possible to drop the ResourceNameType field from Java Resource class.
  - Add configuration to disable message down-conversion
  - Postpone normal processing of tasks within a thread until restoration of all tasks have completed
  - responses not logged properly in controller
  - Broker should load credentials from ZK before requests are allowed
  - Update KafkaZkClient debug log
  - Windows: Consumers not polling when isolation.level=read_committed
  - ERROR "SubscriptionInfo - unable to decode subscription data: version=2" when upgrading from 0.10.0.0 to 0.10.2.1
  - SourceTask#stop() not called after exception raised in poll()
  - Sink connectors that explicitly 'resume' topic partitions can resume a paused task
  - GlobalStateManagerImpl should not write offsets of in-memory stores in checkpoint file
  - Kafka Connect Header Null Pointer Exception
  - Down-conversion fails for records with headers
  - TopologyTestDriver error when dealing with stores from GlobalKTable
  - kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION
  - Scheduler cannot be cancelled from Punctuator
  - TopologyTestDriver fails when topoloy under test uses EXACTLY_ONCE
  - Unclean leader election metric no longer working
  - Intermittent test failure in CustomQuotaCallbackTest
  - GlobalKTable GlobalStateStore never finishes restoring when consuming aborted messages
  - connections-created metric does not behave as expected
  - DEFAULT_PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG is private
  - ResponseMetadata calculates latency incorrectly (and therefore ZooKeeperRequestLatencyMs is incorrect)
  - Kafka fails to start with Java 10 due to faulty Java version detection
  - LeaderEpochFileCache.endOffsetFor() should check for UNDEFINED_EPOCH explicitly
  - NPE when reinitializeStateStores with eos enabled
  - Concurrency conflicts in SampledStat
  - NPE when querying global state store not in READY state
  - Controller deadlock following session expiration
  - Processors created after acceptor started which can cause in a brief refusal to accept connections
  - Kafka Streams does not commit transactions if data is produced via wall-clock punctuation
  - Memory leak in org.apache.kafka.streams.processor.internals.StreamThread$StreamsMetricsThreadImpl
  - In-sync replica delayed during fetch if replica throttle is exceeded
  - AdminClient.deleteRecords() may cause replicas unable to fetch from beginning
  - java.lang.ArithmeticException: / by zero
  - Performance issue upgrading to kafka 1.0.1 or 1.1
  - Source KTable checkpoint is not correct
  - Connect isolation whitelist does not include SimpleHeaderConverter
  - ConnectSchema#equals() broken for array-typed default values
  - Concurrent createTopics calls may throw NodeExistsException
  - ReplicaFetcher thread may die because of inconsistent log start offset in fetch response
  - PushHttpMetricsReporter may deadlock when processing metrics changes
  - Log cleaner fails with transaction markers that are deleted during clean
  - Incorrect check for keystore/truststore dynamic update
  - Request handler deadlocks attempting to acquire group metadata lock
  - Add Second Check for End Offset During Restore
  - Delay initiating the txn on producers until initializeTopology with EOS turned on
  - Broker should load credentials from ZK before requests are allowed
  - JsonConverter generates "Mismatching schema" DataException
  - ERROR "SubscriptionInfo - unable to decode subscription data: version=2" when upgrading from 0.10.0.0 to 0.10.2.1
  - RocksDB segments not removed when store is closed causes re-initialization to fail
  - Streams quickstart pom.xml is missing versions for a bunch of plugins
  - SourceTask#stop() not called after exception raised in poll()
  - LogCleanerManager.doneDeleting() should check the partition state before deleting the in progress partition
  - Sink connectors that explicitly 'resume' topic partitions can resume a paused task
  - GlobalStateManagerImpl should not write offsets of in-memory stores in checkpoint file
  - Down-conversion fails for records with headers
  - kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION
  - Scheduler cannot be cancelled from Punctuator
  - GlobalKTable GlobalStateStore never finishes restoring when consuming aborted messages
  - LeaderEpochFileCache.endOffsetFor() should check for UNDEFINED_EPOCH explicitly
  - Kafka Streams does not commit transactions if data is produced via wall-clock punctuation
  - Memory leak in org.apache.kafka.streams.processor.internals.StreamThread$StreamsMetricsThreadImpl
  - In-sync replica delayed during fetch if replica throttle is exceeded
  - AdminClient.deleteRecords() may cause replicas unable to fetch from beginning
  - Performance issue upgrading to kafka 1.0.1 or 1.1
  - Source KTable checkpoint is not correct
  - ConnectSchema#equals() broken for array-typed default values
  - ReplicaFetcher thread may die because of inconsistent log start offset in fetch response
  - Log cleaner fails with transaction markers that are deleted during clean
  - Request handler deadlocks attempting to acquire group metadata lock
  - Fix broken links in Dockerfile
  - Have State Stores Restore Before Initializing Toplogy
  - Delay initiating the txn on producers until initializeTopology with EOS turned on
  - Mute logger for reflections.org at the warn level in system tests
  - KafkaProducer is not joining its IO thread properly
  - Kafka connect: error with special characters in connector name
  - ERROR "SubscriptionInfo - unable to decode subscription data: version=2" when upgrading from 0.10.0.0 to 0.10.2.1
  - ClassCastException in BigQuery connector
  - Make loadClass thread-safe for class loaders of Connect plugins
  - Broken symlink interrupts scanning the plugin path
  - mBeanName should be removed before returning from JmxReporter#removeAttribute()
  - RocksDB segments not removed when store is closed causes re-initialization to fail
  - Enforce layout of dependencies within a Connect plugin to be deterministic
  - Broker leaks memory and file descriptors after sudden client disconnects
  - Streams quickstart pom.xml is missing versions for a bunch of plugins
  - SourceTask#stop() not called after exception raised in poll()
  - LogCleanerManager.doneDeleting() should check the partition state before deleting the in progress partition
  - Sink connectors that explicitly 'resume' topic partitions can resume a paused task
  - GlobalStateManagerImpl should not write offsets of in-memory stores in checkpoint file
  - kafka-streams Invalid transition attempted from state READY to state ABORTING_TRANSACTION
  - GlobalKTable GlobalStateStore never finishes restoring when consuming aborted messages
  - LeaderEpochFileCache.endOffsetFor() should check for UNDEFINED_EPOCH explicitly
  - Kafka Streams does not commit transactions if data is produced via wall-clock punctuation
  - Memory leak in org.apache.kafka.streams.processor.internals.StreamThread$StreamsMetricsThreadImpl
  - Source KTable checkpoint is not correct
  - ConnectSchema#equals() broken for array-typed default values
  - Request handler deadlocks attempting to acquire group metadata lock
  - Transient failure in kafka.api.SaslScramSslEndToEndAuthorizationTest.testTwoConsumersWithDifferentSaslCredentials
  - Flaky ResetIntegrationTest
  - Ineffective check of negative value in CompositeReadOnlyKeyValueStore#approximateNumEntries()
  - Deadlock due to locking of DelayedProduce and group
  - Streams State Restoration never completes when logging is disabled
  - Replication Fetcher thread for a partition with no data fails to start
  - KafkaFuture timeout fails to fire if a narrow race condition is hit
  - Integer overflow in log cleaner cleanable ratio computation
  - Kafka Request Handler deadlocks and brings down the cluster.
  - Scanning plugin.path needs to support relative symlinks
  - Major performance issue due to excessive logging during leader election
  - Silent Data Loss in Kafka011 Transactional Producer
  - Transaction markers are sometimes discarded if txns complete concurrently
  - High memory usage on controller during partition reassignment
  - RecordQueue.clear() does not clear MinTimestampTracker's maintained list
  - GlobalKTable never finishes restoring when consuming transactional messages
  - Additional failure testing for streams with bouncing brokers
  - add max_number _of_retries to exponential backoff strategy
  - Fix taskClass() method name in Connector and flush() signature in SinkTask
  - Streams should not suspend tasks twice
  - NullPointerException in client on MetadataRequest
  - KafkaProducer.flush hangs when NetworkClient.handleCompletedReceives throws exception
  - Calling KafkaProducer.close() from multiple threads may cause spurious error
  - Kafka Streams keeps restoring state after shutdown is initiated during startup
  - streams task gets stuck after re-balance due to LockException
  - Clients get inconsistent connection states when SASL/SSL connection is marked CONECTED and DISCONNECTED at the same time
  - LogCleaner stopped due to org.apache.kafka.common.errors.CorruptRecordException
  - StreamsKafkaClient should not use StreamsConfig.POLL_MS_CONFIG
  - Refactor kafkatest docker support
  - bin/kafka-consumer-groups.sh failing to query offsets
  - Documentation for altering topics
  - KafkaConsumer: High memory allocation rate when idle
  - The LastStableOffsetLag metric should be removed when partition is deleted
  - KafkaConsumer.commitSync throws IllegalStateException: Attempt to retrieve exception from future which hasn't failed
  - With transformations that mutate the topic-partition committing offsets should to refer to the original topic-partition
  - Incorrect log size for topics larger than 2 GB
  - Processor got uncaught exception: NullPointerException
  - Group loading regression causing stale metadata/offsets cache
  - Streams should not abort transaction when closing zombie task
  - System test failure due to timeout starting Jmx tool
  - KafkaApis.handleWriteTxnMarkerRequest can return UNSUPPORTED_FOR_MESSAGE_FORMAT error on partition emigration
  - One or more consumers in a consumer-group stop consuming after rebalancing
  - ducktape kafka service: do not assume Service contains num_nodes
  - Consumer poll loop over the same record after a CorruptRecordException
  - Replica fetcher thread crashes due to OffsetOutOfRangeException
  - Using _DUCKTAPE_OPTIONS has no effect on executing tests
  - Transient test failure: ResetConsumerGroupOffsetTest.testResetOffsetsToZonedDateTime
  - Fix AdminClient request timeout handling bug resulting in continual BrokerNotAvailableExceptions
  - Fix error handling, efficiency issue in AdminClient#describeConfigs
  - producer missed header information when splitting batches
  - Auto topic creation causes failure with older clusters
  - [streams] 'null' values in state stores
  - Connect WorkerSinkTask out of order offset commit can lead to inconsistent state
  - KafkaAdminClient thread should be daemon
  - Partition.makeLeader() should convert HW to OffsetMetadata before becoming the leader
  - Broker crashes on startup when trying to parse empty snapshot files
  - Delete topic and re-create topic immediate will delete the new topic's timeindex
  - org.apache.kafka.streams.state.internals.Segments#segments method returns incorrect results when segments were added out of order
  - StoreChangeLogReader needs to restore partitions that were added post initialization
  - KafkaStreams state transitions not correct
  - Support passing ZK chroot in system tests
  - Update protocol documentation to mention message format v2
  - Distinguish abortable failures in transactional producer
  - Deletion of tombstones during cleaning should consider idempotent message retention
  - ListOffset should take LSO into account when searching by timestamp
  - Add the archetype project along with "write applications" web docs.
  - KIP-146: Support per-connector/per-task classloaders in Connect
  - Add Record Headers
  - Add purgeDataBefore() API in AdminClient
  - Add KStream.peek(ForeachAction)
  - Add a tool to Reset Consumer Group Offsets
  - Add internal leave.group.on.close config to consumer
  - Add Exactly-Once Semantics to Streams
  - Implement Transactional Coordinator
  - Range Scan for Windowed State Stores
  - Extend wire protocol to allow CRC32C
  - Cluster collection returning methods should never return null
  - Add Prompt to kafka-console-producer
  - Allow users greater access to register custom streams metrics
  - Exponential backoff for broker reconnect attempts (KIP-144)
  - Add JMH module for Benchmarks
  - Split the ProducerBatch and resend when received RecordTooLargeException
  - Allow per stream/table timestamp extractor
  - support throttling on request rate
  - Replication Quota Tests: Ensure ZK updated before tests start
  - REST configuration not visible in connector properties config files
  - TopicCommand --describe shows topics marked for deletion as under-replicated and unavailable (KIP-137)
  - RocksDB checkpoint files lost on kill -9
  - Treat null-key records the same way for joins and aggreations
  - Per listener security setting overrides (KIP-103)
  - Kafka does not offer kafka-configs.bat on Windows box
  - Parametrize streams benchmarks to run at scale
  - Error message from Struct.validate() should include the name of the offending field.
  - Add application.id to StreamThread name
  - Improve Streams Reset Tool console output
  - Add Float serializer, deserializer, serde
  - Exploit #peek to implement #print() and other methods
  - The Kafka build should run findbugs
  - Inner classes which don't need a reference to the outer class should be static
  - Fix findbugs warnings in kafka-tools
  - throw NoOffsetForPartitionException once for all assigned partitions from poll
  - Stream round-robin scheduler is inneficient
  - Fix several FindBugs warnings in Clients and Connect
  - SCRAM secret's should be better protected with Zookeeper ACLs
  - set internal.leave.group.on.close to false in KafkaStreams
  - Add listener tag to socket-server-metrics.connection-... metrics (KIP-136)
  - Followups from KIP-101
  - We shouldn't pass the underlying exception to RetriableCommitFailedException when an async offset commit fails.
  - Optionally print out metrics after running the perf tests
  - ReassignPartitionsCommand should protect against empty replica list assignment
  - Censor SCRAM config change logging
  - DumpLogSegments should not open index files with `rw`
  - Add support for reading PID snapshot files to DumpLogSegments
  - Improve internal Task APIs
  - Trunk compatibility tests should test against 0.10.2
  - Improve message for Kafka failed startup with non-Kafka data in data.dirs
  - Controlled shutdown timeout message improvement
  - reassign-partitions to check if broker of ID exists in cluster
  - Add option "dry run" to Streams application reset tool
  - AdminClient: add controller and clusterId methods to DescribeClusterResults
  - KIP-153: Include only client traffic in BytesOutPerSec metric
  - Application Reset Tool does not need to seek for internal topics
  - New Short serializer, deserializer, serde
  - Change Default unclean.leader.election.enabled from True to False
  - Sticky Assignor should not cache the calculated assignment (KIP-54 follow-up)
  - Support ExtendedDeserializer in Kafka Streams
  - Remove Broker ACL resource type
  - Request log should log throttle time
- Generate javadoc for AdminClient and show configs in documentation
  - Annoying braces showed on log.error using streams
  Implement generation/term per leader to reconcile messages correctly
  - Hold the produce request with ack > 1 in purgatory until replicas' HW has larger than the produce offset (KIP-101)
  - Delete consumer offsets from kafka once the topic is deleted
  - Clean up Controller Object on forced Resignation
  - ConsumerGroupCommand throws GroupCoordinatorNotAvailableException when describing a non-existent group before the offset topic is created
  - SASL unit tests dont work with IBM JDK
  - Follower Broker cannot start if offsets are already out of range
  - Remove deprecated producer configs.
  - Kafka default -Xloggc settings should include GC log rotation flags
  - Streams is creating two ProducerRecords for each send via RecordCollector
  - Broker faills to start after ungraceful shutdown due to non-monotonically incrementing offsets in logs
  - Log should check the return value of dir.mkdirs()
  - KIP-115: __consumer_offsets wrong number of replicas at startup
  - Issue with processing order of consumer properties in console consumer
  - Exit Strategy: using exceptions instead of inline invocation of exit/halt
  - Documentation still refers to AsyncProducer and SyncProducer
  - KIP-151: Connect REST API should expose whether each connector is a source or sink
  - KTable doesn't work with ProcessorTopologyTestDriver in Kafka 0.10.1.0
  - rat license check not running in Jenkins
  - When using ProcessorTopologyTestDriver, the combination of map and .groupByKey does not produce any result
  - Set more conservative default values on RocksDB for memory usage
  - Significant startup delays in KStreams app
  - Kafka should not require SSL trust store password
  - When the destination brokers are down or misconfigured in config, Streams should fail fast
  - Connect Producer and Consumer ignore ssl parameters configured for worker
  - Annotate integration tests and provide gradle build targets to run subsets of tests
  - Controller send thread can't stop when broker change listener event trigger for dead brokers
  - the argument of shell in doc wrong and command parsed error
  - Kafka Streams allows you to provide strings with illegal characters for internal topic names
  - gradle-generated core eclipse project has incorrect source folder structure
  - Refresh consumer metadata more frequently for unknown subscribed topics
  - KIP-154: Connect should create internal topics
  - Fix Streams window retention policy
  - KIP-100 api changes break Java 8 lambda expressions in some cases
  - Python VerifiableConsumer service has thread-safety bug for event_handlers
  - Avoid unnecessary task movement across threads during rebalance
  - OffsetValidationTest fails validation with "Current position greater than the total number of consumed records"
  - StreamsKafkaClient drops security configs
  - Fix Transient failure in BrokerApiVersionsCommandTest.checkBrokerApiVersionCommandOutput
  - Implement remaining KIP-66 SMTs
  - Fix logic for re-checking if internal topic is ready
  - connect jars are missing LICENSE/NOTICE files
  - Timed out waiting for consumption in OffsetValidationTest.test_broker_failure
  - Clean up of state directories can possibly remove stores that are about to be used by another thread
  - KafkaConsumer#commitSync should clone its input
  - Fix deadlock issue during MM shutdown
  - Remove generic type of class ClientState
  - Memory leak in RecordAccumulator.append
  - Streams_bounce test failing occassionally
  - fix join-time-max and sync-time-max MeasurableStat type
  - Streams Simple Benchmark MB/sec calculation is not correct for Join operations
  - SimpleBenchmark test fails for streams
  - Improve NetworkClient trace logging of request details
  - Connect WorkerSinkTask is missing checks for NO_TIMESTAMP
  - org.apache.kafka.clients.producer.KafkaProducerTest#testConstructorFailureCloseResource and Similar Tests are Failing on some Systems (127.0.53.53 Collision Warning)
  - Implement graceful handling for improperly formed compressed message sets
  - Kafka client Heartbeat thread use all the cpu.
  - Failure in kafka/tests/kafkatest/tests/core/security_rolling_upgrade_test.py
  - KIP-128: Blackbox or pass through converter or ByteArrayConverter for connect
  - Broker level configuration 'log.segment.bytes' not used when 'segment.bytes' not configured per topic.
  - ProcessorTopologyTestDriver does not forward extracted timestamps to internal topics
  - Kafka cannot recover after a disk full
  - Kafka Streams - unable to add state stores when using wildcard topics on the source
  - Fix some findbugs warnings in Kafka Java client
  - Streams State transition ASCII diagrams need fixing and polishing
  - KafkaConsumer: ConsumerConfig gets logged twice.
  - docker/run_tests.sh should set up /opt/kafka-dev to be the source directory
  - SchemaBuilder should be more lax about checking that fields are unset if they are being set to the same value
  - ReplicaFetchThread may fail to create due to existing metric
  - ZookeeperLeaderElector not respecting zookeeper.set.acl
  - Fix some findbugs warnings in Kafka Streams
  - ProcessorTopologyTestDriver does not work when using .through()
  - Config validation in Connector plugins need to compare against both canonical and simple class names
  - NetworkClient should only consider a connection to be fail after attempt to connect
  - Stream thread getting into deadlock state while trying to get rocksdb lock in retryWithBackoff
  - SessionStore.fetch(key) is a performance bottleneck
  - Struct SchemaBuilder should not allow duplicate fields.
  - Querying window store may return unwanted keys
  - Kafka Secure Migrator tool doesn't secure all the nodes
  - Kafka console consumer property is ignored
  - Kafka Connect does not log connector configuration errors
  - processstreamwithcachedstatestore and other streams benchmarks fail occasionally
  - kafka.request.logger TRACE regression
  - Fix findbugs "default character set in use" warnings
  - Fix findbugs "format string should use %n rather than \n" in tools
  - Fix findbugs warnings in kafka-core
  - Make ProduceRequest thread-safe
  - Utils#delete should correctly handle I/O errors and symlinks
  - Remove unused code for reading Shell command stdout and add unit test
  - Add streams tests with brokers failing
  - Document that stores must not be closed when Processors are closed
  - Fix findbugs warnings in Kafka-Connect-API
  - Add a configurable delay to the initial consumer group rebalance
  - KStreamsTestDriver fails with NPE when KStream.to() sinks are used
  - Transformation Key/Value type references should be to class name(), not canonicalName()
  - Batch resetting offsets in Streams' StoreChangelogReader
  - Kafka Connect: Offset committing times out before expected
  - Fix an "unread field" findbugs warning in streams examples
  - Suppress findbugs warnings about machine-generated code in jmh-benchmarks
  - remove controller concurrent access to non-threadsafe NetworkClient, Selector, and SSLEngine
  - Delete the kafka to prefix the name of the keystore and truststore file will be more suitable
  - kafka-connect: fix findbugs issues in connect/runtime
  - testReprocessingFromScratch unit test failure
  - Fix findbugs warnings in kafka-clients
  - Fix remaining findbugs warnings in Kafka Streams
  - StreamThread should catch InvalidTopicException
  - JoinIntegrationTest fails occasionally
  - Fail the build when findbugs fails
  - SSL Channel not ready but tcp is established and the server is hung will not sending metadata
  - running multiple kafka streams instances causes one or more instance to get into file contention
  - Increase number of Streams producer retries from the default of 0
  - InFlightRequests#isEmpty() always returns false
  - Add FindCoordinatorRequest RPC stub and update InitPidRequest for KIP-98
  - NullPointerException while using GlobalKTable in KafkaStreams
  - Chroot check should be done for each ZkUtils instance
  - Avoid DNS reverse lookup in security-critical TLS code path
  - Kafka Streams skipped-records-rate sensor producing nonzero values even when FailOnInvalidTimestamp is used as extractor
  - Kafka Streams stuck rebalancing after exception thrown in rebalance listener
  - Defer exception to the next pollOnce() if consumer's fetch position has already increased
  - PartitionRecords.fetchRecords(...) should defer exception to the next call if iterator has already moved across any valid record
  - two versions of jackson-annotations-xxx.jar in distribution tgz
  - Update topic expiry time in Metadata every time the topic metadata is requested
  - some spelling error in code comment
  - Kafka Streams SessionStore.findSessions javadoc broken
  - ThreadCacheTest.cacheOverheadsSmallValues fails intermittently
  - Replica Deletion Regression from KIP-101
  - ProducerPerformanceService failing due to parsing error
  - Remove KafkaController's incrementControllerEpoch method parameter
  - Transient test failure SocketServerTest.testMetricCollectionAfterShutdown
  - Controller Health Metrics (KIP-143)
  - Flaky ResetIntegrationTest
  - Windows platform does not offer kafka-broker-api-versions.bat
  - MinTimestampTracker uses confusing variable names
  - LZ4 decompression is 4-5x slower than Snappy on small batches / messages
  - SetSchemaMetadata does not replace the schemas in structs correctly
  - streams task gets stuck after re-balance due to LockException
  - KafkaConsumer.close should be idempotent
  - KafkaAdminClientIntegration test should wait until metadata is propagated to all brokers
  - CachingSessionStore doesn't fetchPrevious correctly.
  - SASL tests failing with Could not find a 'KafkaServer' or 'sasl_plaintext.KafkaServer' entry in the JAAS configuration
  - RocksDb might stall in environments with 1 core only
  - RocksDbStore#openIterators should be synchronized, since it is accessed from multiple threads
  - Percentilles are calculated incorrectly
  - CachingSessionStore doesn't use the default keySerde.
  - RocksDBSessionStore doesn't use default aggSerde.
  - KafkaConsumer should not skip a corrupted record after throwing an exception.
  - IllegalStateException in ensureOpenForRecordAppend
  - Small JavaDoc fix for AdminClient#describeTopics
  - Cached Session/Window store may return error on iterator.peekNextKey()
  - NullPointerException (NPE) in SourceNodeRecordDeserializer.deserialize
  - Reflections logs excessive warnings when scanning classpaths
  - Recommended values for Connect transformations contain the wrong class name
  - Kafka broker fails to start if a topic containing dot in its name is marked for delete but hasn't been deleted during previous uptime
  - Regression in on-disk log size when using Snappy compression with 0.8.2 log message format
  - GlobalKTable does not checkpoint offsets after restoring state
  - Tests which delete singleton metrics break subsequent metrics tests
  - handleFetchRequest should do down conversion after throttling
  - kakfa-clients consume 100% CPU with manual partition assignment when network connection is lost
  - Move ACLs, Config, NodeVersions classes into org.apache.kafka.common
  - Follow-up improvements for consumer offset reset tool (KIP-122)
  - kafka-console-consumer: `--value-deserializer` is not working but `--property value.deserializer` does
  - One StopReplicaRequest will caused two Responses
  - Do not apply exponential backoff if users have overridden reconnect.backoff.ms
  - PlainSaslServerFactory should allow a null Map in getMechanismNames
  - FetchRequest doesn't implement toString
  - Missing logging information in ReplicaFetcher
  - Stores not queryable after one thread died
  - Log cleaning can increase message size and cause cleaner to crash with buffer overflow
  - MemoryRecords.filterTo can return corrupt data if output buffer is not large enough
  - AdminClient: add close with timeout, fix some timeout bugs
  - Connection Lose during Kafka Kerberos Renewal process
  - Replica list in the metadata cache on the broker may have different order from zookeeper
  - rocksdb.config.setter must be a class instance, not a class name
  - ListGroup requires Describe on Cluster, but the command-line AclCommand tool does not allow this to be set
  - There is a Misspell in ResetIntegrationTest
  - Change message.timestamp.difference.max.ms back to Long.MaxValue
  - Some socket connections not closed after restart of Kafka Streams
  - KafkaConsumer occasionally hits IllegalStateException
  - Modify Unstable annotations in Streams API
  - baseTimestamp should always have a create timestamp
  - MirrorMaker not preserving headers
  - Down-converted uncompressed batches should respect fetch offset
  - Add EOS integration tests for Streams API
  - Add EOS system tests for Streams API
  - Kafka Streams skipped-records-rate sensor produces nonzero values when the timestamps are valid
  - ConsoleConsumer prints out object addresses rather than what is expected
  - AdminClient gets "server returned information about unknown correlation ID" when communicating with older brokers
  - Transactions: Concurrent transactional consumer loses messages when there are broker bounces
  - Transient test failure: KafkaConsumerTest.testChangingRegexSubscription
  - Log recovery can fail if topic names contain one of the index suffixes
  - Transactional Producer allows batches to expire and commits transactions regardless
  - KafkaAdminClient#timeoutCallsInFlight does not work as expected
  - Distributed Herder Deadlocks on Shutdown
  - Add more AdminClient checks to ClientCompatibilityTest
  - Log cleaner fails due to large offset in segment file
  - Console consumer offset commit regression
  - TransactionCoordinator doesn't complete transition to PrepareCommit state
  - TransactionCoordinator doesn't complete transition to CompleteCommit
  - ZkUtils.getAllPartitions() may fail if a topic is marked for deletion
  - Multiple produce request failures causes invalid state transition in TransactionManager
  - Transient test failure: SaslPlainSslEndToEndAuthorizationTest.testNoProduceWithDescribeAcl
  - Streams producer `client.id` are not unique for EOS
  - TimestampConverter's "type" config conflicts with the basic Transformation "type" config
  - Flaky test TransactionsTest.testReadCommittedConsumerShouldNotSeeUndecidedData
  - Scripts to startup Connect in system tests have too short a timeout
  - Update java docs for consumer and producer to be up to date for EOS
  - Producer fails with NPE if compressed V0 or V1 record is larger than batch size
  - MemoryRecordsBuilder.hasRoomfor doesn't take into account the headers while computing available space
  - Controller incorrectly logs rack information when new brokers are added
  - Connector validate REST endpoint returning duplicate entries in "groups"
  - Connector config validation REST API endpoint not including fields for transformations
  - TransactionalProducer sleeps unnecessarily long during back to back transactions
  - org.apache.kafka logging should go to server.log
  - The ProducerPerformance tool should support transactions
  - Connect validation API stops returning recommendations for some fields after the right sequence of requests
  - Remove deprecated APIs for 0.11.0.0
  - Drop support for Scala 2.10 (KIP-119)
  - Remove unstable markers from Connect APIs
  - KTable materialization and improved semantics
  - Transient failure in ZooKeeperSecurityUpgradeTest.test_zk_security_upgrade with security_protocol = SASL_PLAINTEXT, SSL
  - Test with two SASL_SSL listeners with different JAAS contexts
  - Implement KIP-98 transactional methods in the MockProducer
  - Add cases for concurrent transactional reads and writes in system tests
  - SyncProducerTest.testReachableServer has become flaky
  - KIP-54: Add rebalance with a minimal number of reassignments to server-defined strategy list
  - ProducerSendTest.testCloseWithZeroTimeoutFromCallerThread Transient Failure
  - Transient Failure in kafka.api.PlaintextProducerSendTest.testFlush
  - Mark the old Scala consumer and related classes as deprecated
  - Create Java Admin Client
  - Implement KIP-140 RPCs and APIs for creating, altering, and listing ACLs
  - Describe/Alter Configs protocol, server and client (KIP-133)
  - Transient test failure: kafka.api.SslProducerSendTest.testSendNonCompressedMessageWithCreateTime
  - Unstable test KStreamRepartitionJoinTest.shouldCorrectlyRepartitionOnJoinOperations
  - Transient test failure: ConsumerBounceTest.testConsumptionWithBrokerFailures
  - Transient failure in QueryableStateIntegrationTest.queryOnRebalance
  - Address 2.12 eta-expansion warnings
  - Update release process so that Scala 2.12 artifacts are published
  - Run tests on travis-ci using docker
  - Transient failure in org.apache.kafka.clients.consumer.KafkaConsumerTest.testWakeupWithFetchDataAvailable
  - QueryableStateIntegrationTest.shouldNotMakeStoreAvailableUntilAllStoresAvailable is occasionally failing on jenkins
  - Improve test coverage of ProcessorStateManager
  - Improve test coverage of StreamsPartitionAssignor
  - Improve test coverage of ProcessorTopology
  - Improve test coverage AbstractProcessorContext
  - Improve test coverage of GlobalStreamThread
  - Improve test coverage StreamTask
  - Improve test coverage GlobalStateManagerImpl
  - Improve test coverage KStreamBuilder
  - Improve test coverage MemoryLRUCache
  - Improve test coverage of CompositeReadOnlyWindowStore
  - Improve test coverage KafkaStreams
  - Improve test coverage TopologyBuilder
  - Transient test failure: ConsumerCoordinatorTest.testHeartbeatThreadClose
  - Message format changes for idempotent/transactional producer
  - Implement idempotent producer
  - Implement transactional clients
  - Transient test failure: org.apache.kafka.streams.integration.JoinIntegrationTest.shouldCountClicksPerRegion (again)
  - Consider disabling record level CRC checks for message format V2
  - Failure in kafka.admin.DescribeConsumerGroupTest.testDescribeExistingGroupWithNoMembersWithNewConsumer
  - Implementation and unit tests for request handler thread utilization quota
  - Add network handler thread utilization to request quota calculation
  - Add documentation for request quotas
  - Transient failure of AdminClientTest.testDeleteRecordsWithException
  - Add producer per task support
  - Add request/response classes for transactions (KIP-98)
  - KeyValueStore.put may throw exception unrelated to the current put attempt
  - Exactly-once upgrade notes
  - Update Message Delivery Semantics section to take into account KIP-98
  - convert kafka controller to a single-threaded event queue model
  - Additional validation in validateMessagesAndAssignOffsets
  - Reconsider default retries for idempotent producer
  - add controller integration tests
  - Load only batch header when rebuilding producer ID map
  - Refactor AdminUtils to use zkUtils methods instad of zkUtils.zkClient
  - remove preferred replica election state from ControllerContext
  - Implement transaction index for KIP-98
  - shouldInnerLeftJoin unit test fails
  - TransactionCoordinator - Check inter broker protocol and message format and raise errors if incompatible
  - TransactionCoordinator - Add ACL check for each request
  - Change InterBrokerSendThread to use a Queue per broker
  - WriteTxnMarkers and complete commit/abort on partition immigration
  - Abort long running transactions
  - Move coordinatorEpoch from WriteTxnMarkerRequest to TxnMarkerEntry
  - KafkaProducer's TransactionManager needs a review on synchronization
  - Refactor TransactionCoordinator in-memory structure and error handling logic
  - KIP-98 : broker side handling for the TxnOffsetCommitRequest
  - Add a reference to AdminClient to docs/api.html
  - TC should not accept empty string transactional id
  - Transient failure: ControllerIntegrationTest.testPreferredReplicaLeaderElection
  - Log connection termination during authentication
  - Transient failure: ControllerIntegrationTest.testControllerMoveIncrementsControllerEpoch
  - Transient failure: RequestQuotaTest.testResponseThrottleTime
  - Avoid expensive initialization of producer state when upgrading
  - Add Integration tests for transactional producer
  - Autogenerate Consumer Fetcher metrics
  - LogCleaner should be transaction-aware
  - Handle topic deletion for ongoing transactions
  - SaslScramSslEndToEndAuthorizationTest.testNoConsumeWithoutDescribeAclViaSubscribe
  - TransactinoCoordinator does not bump epoch when aborting open transactions
  - Consumer GroupCoordinator should continue to materialize committed offsets in offset order even for transactional offset commits
  - Remove retention time from TxnOffsetCommit RPC
  - Transaction index recovery does not snapshot properly
  - Producer should drop queued sends when transaction is aborted
  - Fix flaky test LogCleanerTest.testCommitMarkerRemoval
  - move all partition and replica state transition rules into their states
  - TransactionalId authorization should imply ProducerId authorization
  - Producer should not send AbortTxn unless transaction has actually begun
  - TransactionsBounceTest occasionally sees INVALID_TXN_STATE errors
  - TransactionBounceTest occasionally fails due to partition errors
  - KafkaConsumer.committed() should get latest committed offsets from the server
  - Review and improve AdminClient Javadoc for the first release (KIP-117)
  - Review and potentially tweak AdminClient API for the initial release (KIP-117)
  - TransactionCoordinator must expire transactionalIds
  - Protect concurrent access to the cached transaction status
  - System tests for KIP-98 / transactions
  - Transactions integration test: Use factory methods to keep track of open producers and consumers and close them all on tearDown
  - Update clients and server code to make sure that epoch and sequence numbers wrap around
  - AdminClient should not trigger auto creation of topics
  - Fix authorization checks in AdminClient
  - TC should handle UNSUPPORTED_FOR_MESSAGE_FORMAT in WriteTxnMarker response
  - reset ControllerContext during resignation
  - Update KIP-98 to reflect changes during implementation.
  - Update produce/fetch throttle time metrics for any request throttle
  - Resolve AddPartitions response error code inconsistency
  - Transactions system test with hard broker bounces fails sporadically
  - Add additional test cases for batch splitting to ensure idempotent/transactional metadata is preserved
  - Broker clean bounce test puts the broker into a 'CONCURRENT_TRANSACTIONS' state permanently
  - Broker returns messages beyond "latest stable offset" to transactional consumer in read_committed mode
  - StackOverFlow error in transaction coordinator
  - Producer attempts to send transactional messages before adding partitions to transaction
  - Fix regression in compressed message iteration affecting magic v0 and v1
  - Transactions: Concurrent transactional consumer reads aborted messages
  - Last Stable Offset not returned in Fetch request
  - Transactional producer cannot find coordinator when trying to abort transaction after error
  - Transactional producer aborts batches incorrectly in abortable error state
  - Producer IllegalStateException: Batch has already been completed
  - Produce state lost if no snapshot retained
  - TransactionalMessageCopier should be force killed on test shutdown
  - UnsupportedOperationException in WriteTxnMarkers handler
  - Consumer should use last offset from batch to set next fetch offset
  - read current brokers from zookeeper upon processing broker change
- Drop /usr/bin/kafka-consumer-offset-checker.sh . No longer provided by upstream
- Drop /usr/bin/kafka-replay-log-producer.sh . No longer provided by upstream
- Drop /usr/bin/kafka-simple-consumer-shell.sh . No longer provided by upstream
- Use %license macro
- Use /run instead of /var/run
* Tue Aug 07 2018 johannes.grassler@suse.com
- Remove commented Requires and BuildRequires
- Add pointer to documentation on kafka-kit rebuild
- Refresh lock-down-jmxremote.patch and  rotate-gc-log.patch
- Add noreplace directive for /etc/kafka/server.properties
- Update to version 0.10.2.2 (bsc#1102920, CVE-2018-1288)
  * Improvements:
  * [KAFKA-4965] - set internal.leave.group.on.close to false in
    KafkaStreams
  * [KAFKA-5118] - Improve message for Kafka failed startup with
    non-Kafka data in data.dirs
  * [KAFKA-5242] - add max_number _of_retries to exponential
    backoff strategy
  * [KAFKA-7009] - Mute logger for reflections.org at the warn
    level in system tests
  * Bugs:
  * [KAFKA-4827] - Kafka connect: error with special characters
    in connector name
  * [KAFKA-5150] - LZ4 decompression is 4-5x slower than Snappy
    on small batches / messages
  * [KAFKA-5167] - streams task gets stuck after re-balance due
    to LockException
  * [KAFKA-5205] - CachingSessionStore doesn't use the default
    keySerde.
  * [KAFKA-5206] - RocksDBSessionStore doesn't use default
    aggSerde.
  * [KAFKA-5230] - Recommended values for Connect
    transformations contain the wrong class name
  * [KAFKA-5232] - Kafka broker fails to start if a topic
    containing dot in its name is marked for
    delete but hasn't been deleted during
    previous uptime
  * [KAFKA-5241] - GlobalKTable does not checkpoint offsets
    after restoring state
  * [KAFKA-5316] - Log cleaning can increase message size and
    cause cleaner to crash with buffer overflow
  * [KAFKA-5345] - Some socket connections not closed after
    restart of Kafka Streams
  * [KAFKA-5395] - Distributed Herder Deadlocks on Shutdown
  * [KAFKA-5413] - Log cleaner fails due to large offset in
    segment file
  * [KAFKA-5464] - StreamsKafkaClient should not use
    StreamsConfig.POLL_MS_CONFIG
  * [KAFKA-5484] - Refactor kafkatest docker support
  * [KAFKA-5623] - ducktape kafka service: do not assume Service
    contains num_nodes
  * [KAFKA-5643] - Using _DUCKTAPE_OPTIONS has no effect on
    executing tests
  * [KAFKA-5731] - Connect WorkerSinkTask out of order offset
    commit can lead to inconsistent state
  * [KAFKA-6054] - ERROR "SubscriptionInfo - unable to decode
    subscription data: version=2" when upgrading
    from 0.10.0.0 to 0.10.2.1
  * [KAFKA-6360] - RocksDB segments not removed when store is
    closed causes re-initialization to fail
  * [KAFKA-6371] - FetchMetadata creates unneeded Strings on
    instantiation
  * [KAFKA-6566] - SourceTask#stop() not called after exception
    raised in poll()
  * [KAFKA-6661] - Sink connectors that explicitly 'resume'
    topic partitions can resume a paused task
  * [KAFKA-6711] - GlobalStateManagerImpl should not write
    offsets of in-memory stores in checkpoint
    file
  * [KAFKA-7021] - Source KTable checkpoint is not correct
  * [KAFKA-7058] - ConnectSchema#equals() broken for array-typed
    default values
* Thu Jun 28 2018 johannes.grassler@suse.com
- Reduce package ownership of tmpfiles.d to bare minium (SLE12 SP2)
* Wed Jun 27 2018 johannes.grassler@suse.com
- Fix SLE and older Leap breakage caused by previous fix
* Wed Jun 27 2018 johannes.grassler@suse.com
- Fix various spec errors affecting Leap 15 and Tumbleweed
* Mon Jun 18 2018 jodavis@suse.com
- Set log rotation options (bsc#1094448)
- Disable jmxremote debugging (bsc#1095603)
* Wed Mar 28 2018 tbechtold@suse.com
- Increase open file limits (bsc#1086909)
* Tue Apr 25 2017 sjamgade@suse.com
- Added Environment variables to the service files. (bsc#1048688, FATE#323204)
* Fri Feb 10 2017 johannes.grassler@suse.com
- Limited architecture to amd64
- Cleaned up %files section
- Downgraded to upstream version 0.9.0.1
- Switched from upstream binary tarball to Tetra based build
  from source
* Thu Jan 05 2017 johannes.grassler@suse.com
- Initial package.