Commit Graph

205 Commits

Author SHA1 Message Date
Manikumar Reddy O 028e80204d KAFKA-6835: Enable topic unclean leader election to be enabled without controller change (#4957)
Reviewers: Jun Rao <junrao@gmail.com>
2018-08-20 09:48:13 -07:00
Vahid Hashemian e6fd99dc62 KAFKA-5638; Improve the Required ACL of ListGroups API (KIP-231) (#5352)
Reviewers: Manikumar Reddy O <manikumar.reddy@gmail.com>, Jason Gustafson <jason@confluent.io>
2018-08-12 23:59:31 -07:00
Jason Gustafson c3e7c0bcb2
MINOR: Producers should set delivery timeout instead of retries (#5425)
Use delivery timeout instead of retries when possible and remove various TODOs associated with completion of KIP-91.

Reviewers: Ismael Juma <ismael@juma.me.uk>, Guozhang Wang <wangguoz@gmail.com>
2018-08-01 11:04:17 -07:00
Yu Yang 7fc7136ffd KAFKA-5886; Introduce delivery.timeout.ms producer config (KIP-91) (#5270)
Co-authored-by: Sumant Tambe <sutambe@yahoo.com>
Co-authored-by: Yu Yang <yuyang@pinterest.com>

Reviewers: Ted Yu <yuzhihong@gmail.com>, Apurva Mehta <apurva@confluent.io>, Jason Gustafson <jason@confluent.io>
2018-07-26 09:13:50 -07:00
Rajini Sivaram 4b60ed3247
KAFKA-7193: Use ZooKeeper IP address in streams tests to avoid timeouts (#5414)
ZooKeeper client from version 3.4.13 doesn't handle connections to localhost very well. If ZooKeeper is started on 127.0.0.1 on a machine that has both ipv4 and ipv6 and a client is created using localhost rather than the IP address in the connection string, ZooKeeper client attempts to connect to ipv4 or ipv6 randomly with a fixed one second backoff if connection fails. Use 127.0.0.1 instead of localhost in streams tests to avoid intermittent test failures due to ZK client connection timeouts if ipv6 is chosen in consecutive address selections. Also add note to upgrade docs for 2.0.0.

Reviewers: Ismael Juma <github@juma.me.uk>, Matthias J. Sax <matthias@confluent.io>
2018-07-23 19:10:33 +01:00
Matthias J. Sax c5a4d5cb91 MINOR: fix upgrade docs for Streams (#5394)
Reviewers: Guozhang Wang <guozhang@confluent.io>, Rajini Sivaram <rajini@confluent.io>
2018-07-20 11:01:32 -07:00
Matthias J. Sax 03e788b29b MINOR: improve docs version numbers (#5372)
Reviewer: Guozhang Wang <guozhang@confluent.io>
2018-07-18 13:52:44 -07:00
Rajini Sivaram 359eb4e083
MINOR: Remove references to version 1.2 in docs (#5386) 2018-07-18 18:07:59 +01:00
Vahid Hashemian 9bc9a37e50 MINOR: KIP-211 Follow-up (#5272)
Updates the description of `offsets.retention.minutes` config, and fixes an upgrade note.
2018-06-26 07:57:28 -07:00
Vahid Hashemian 418a91b5d4 KAFKA-4682; Revise expiration semantics of consumer group offsets (KIP-211 - Part 1) (#4896)
This patch contains the improved offset expiration semantics proposed in KIP-211. Committed offsets will not be expired as long as a group is active. Once all members have left the group, then offsets will be expired after the timeout configured by `offsets.retention.minutes`. Note that the optimization for early expiration of unsubscribed topics will be implemented in a separate patch.
2018-06-21 17:19:24 -07:00
Ismael Juma cc4dce94af
KAFKA-2983: Remove Scala consumers and related code (#5230)
- Removed Scala consumers (`SimpleConsumer` and `ZooKeeperConsumerConnector`)
and their tests.
- Removed Scala request/response/message classes.
- Removed any mention of new consumer or new producer in the code
with the exception of MirrorMaker where the new.consumer option was
never deprecated so we have to keep it for now. The non-code
documentation has not been updated either, that will be done
separately.
- Removed a number of tools that only made sense in the context
of the Scala consumers (see upgrade notes).
- Updated some tools that worked with both Scala and Java consumers
so that they only support the latter (see upgrade notes).
- Removed `BaseConsumer` and related classes apart from `BaseRecord`
which is used in `MirrorMakerMessageHandler`. The latter is a pluggable
interface so effectively public API.
- Removed `ZkUtils` methods that were only used by the old consumers.
- Removed `ZkUtils.registerBroker` and `ZKCheckedEphemeral` since
the broker now uses the methods in `KafkaZkClient` and no-one else
should be using that method.
- Updated system tests so that they don't use the Scala consumers except
for multi-version tests.
- Updated LogDirFailureTest so that the consumer offsets topic would
continue to be available after all the failures. This was necessary for it
to work with the Java consumer.
- Some multi-version system tests had not been updated to include
recently released Kafka versions, fixed it.
- Updated findBugs and checkstyle configs not to refer to deleted
classes and packages.

Reviewers: Dong Lin <lindong28@gmail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>
2018-06-19 07:32:54 -07:00
Rajini Sivaram d504e85011
KAFKA-6805: Enable broker configs to be stored in ZK before broker start (#4898)
Support configuration of dynamic broker configs in ZooKeeper before starting brokers using ConfigCommand. This will allow password configs to be encrypted and stored in ZooKeeper, without requiring clear passwords in server.properties to bootstrap the broker first.

Reviewers: Jason Gustafson <jason@confluent.io>
2018-06-18 18:28:08 +01:00
Dhruvil Shah a8c17e36c3 MINOR: Fix chunked down-conversion behavior when no valid batch exists after conversion (#5173)
We might decide to drop certain message batches during down-conversion because older clients might not be able to interpret them. One such example is control batches which are typically removed by the broker if down-conversion to V0 or V1 is required. This patch makes sure the chunked down-conversion implementation is able to handle such cases.
2018-06-14 23:00:33 -07:00
Jason Gustafson 443091b844
KAFKA-7050; Decrease default consumer request timeout to 30s (#5203)
This patch changes the default `request.timeout.ms` of the consumer to 30 seconds. Additionally, it adds logic to `NetworkClient` and related to components to support timeouts at the request level. We use this to handle the special case of the JoinGroup request, which may block for as long as the value configured by `max.poll.interval.ms`.

Reviewers: Ismael Juma <ismael@juma.me.uk>, Guozhang Wang <guozhang@confluent.io>
2018-06-13 16:21:30 -07:00
Dhruvil Shah 53ca52f855 KAFKA-6979; Add `default.api.timeout.ms` to KafkaConsumer (KIP-266) (#5122)
Adds a configuration that specifies the default timeout for KafkaConsumer APIs that could block. This was introduced in KIP-266.

Reviewers: Satish Duggana <satish.duggana@gmail.com>, Jason Gustafson <jason@confluent.io>
2018-06-12 16:29:50 -07:00
Andy Coates a592402512 KAFKA-7007: Use JSON for /kafka-acl-extended-changes path (#5161)
Keep Literal ACLs on the old paths, using the old formats, to maintain backwards compatibility.
Have Prefixed, and any latter types, go on new paths, using JSON, (old brokers are not aware of them)
Add checks to reject any adminClient requests to add prefixed acls before the cluster is fully upgraded.

Colin Patrick McCabe <colin@cmccabe.xyz>, Jun Rao <junrao@gmail.com>
2018-06-12 19:07:10 -03:00
Dong Lin 4580d9f16a MINOR: Remove deprecated per-partition lag metrics
It takes O(n^2) time to instantiate a mbean with n attributes which can be very slow if the number of attributes of this mbean is large. This PR removes metrics whose number of attributes can grow with the number of partitions in the cluster to fix the performance issue. These metrics have already been marked for removal in 2.0 by KIP-225.

Author: Dong Lin <lindong28@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #5172 from lindong28/remove-deprecated-metrics
2018-06-11 23:32:30 -07:00
Andy Coates b3aa655a70 KAFKA-6841: Support Prefixed ACLs (KIP-290) (#5117)
Reviewers: Colin Patrick McCabe <colin@cmccabe.xyz>, Jun Rao <junrao@gmail.com>

Co-authored-by: Piyush Vijay <pvijay@apple.com>
Co-authored-by: Andy Coates <big-andy-coates@users.noreply.github.com>
2018-06-06 07:22:57 -07:00
Edoardo Comar 0c035c46b4 KAFKA-6726: Fine Grained ACL for CreateTopics (KIP-277) (#4795)
- CreateTopicsRequest now requires Create auth on Topic resource
or Create on Cluster resource.
- AclCommand --producer option adjusted
- Existing unit and Integration tests adjusted accordingly and
new tests added.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Co-authored-by: Edoardo Comar <ecomar@uk.ibm.com>
Co-authored-by: Mickael Maison <mickael.maison@gmail.com>
2018-06-06 03:36:52 -07:00
Paolo Patierno be8808dd4b KAFKA-5588: Remove deprecated --new-consumer tools option (#5097)
Reviewers: Viktor Somogyi <viktorsomogyi@gmail.com>, Vahid Hashemian <vahidhashemian@us.ibm.com>, Manikumar Reddy <manikumar.reddy@gmail.com>, Ismael Juma <ismael@juma.me.uk>
2018-06-05 20:28:03 -07:00
Rajini Sivaram 9df3872fbd KAFKA-3665: Enable TLS hostname verification by default (KIP-294) (#4956)
Make HTTPS the default ssl.endpoint.identification.algorithm.

Reviewers: Ismael Juma <ismael@juma.me.uk>
2018-06-05 04:08:13 -07:00
Manikumar Reddy O 202ab22b98 KAFKA-5523: Remove ReplayLogProducer tool (#5092)
Reviewers: Ismael Juma <ismael@juma.me.uk>
2018-06-03 01:52:11 -07:00
Vahid Hashemian 0cacbcf30e MINOR: Remove usages of JavaConversions and fix some typos (#5115)
Reviewers: Ismael Juma <ismael@juma.me.uk>
2018-06-02 23:45:44 -07:00
Vahid Hashemian 341d5db260 KAFKA-6955: Use Java AdminClient in DeleteRecordsCommand (#5088)
- Removed internal kafka.admin.AdminClient.deleteRecordsBefore since it's
no longer used.
- Removed redundant tests and rewrote non redundant ones to use the Java
AdminClient.

Reviewers: Viktor Somogyi <viktor.somogyi@cloudera.com>, Manikumar Reddy <manikumar.reddy@gmail.com>, Ismael Juma <ismael@juma.me.uk>
2018-06-02 12:41:55 -07:00
Jason Gustafson 3683d475ed
MINOR: Follow-up improvements for KIP-266 (#5084)
This patch contains a few follow-up improvements/cleanup for KIP-266:

- Add upgrade notes
- Add missing `commitSync(Duration)` API
- Improve timeout messages and fix some naming inconsistencies
- Various small cleanups

Reviewers: John Roesler <john@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
2018-05-30 17:28:17 -07:00
Jon Lee 1facab387f KAFKA-6028: Improve the quota throttle communication (KIP-219)
This implements KIP-219, where a broker returns a response with throttle time on
quota violation immediately after processing the corresponding request.  After
the response is sent out, the broker will keep the channel muted until the
throttle time is over. Also, on receiving a response with throttle time, client
will block outgoing communication to the broker for the specified throttle time.

See PR 4830, 5064 and 5094 for all the review history

Author: Jon Lee <jonlee@jonlee-ld1.linkedin.biz>

Reviewers: Jun Rao <junrao@gmail.com>, Rajini Sivaram <rajinisivaram@googlemail.com>, Ismael Juma <ismael@juma.me.uk>,  Dong Lin <lindong28@gmail.com>

Closes #5064 from jonlee2/kip-219
2018-05-30 10:10:33 -07:00
Chris Egerton a64ab91238 KAFKA-5540: Deprecate internal converter configs (KIP-174)
Implementation of [KIP-174](https://cwiki.apache.org/confluence/display/KAFKA/KIP-174+-+Deprecate+and+remove+internal+converter+configs+in+WorkerConfig)

Configuration properties 'internal.key.converter' and 'internal.value.converter'
are deprecated, and default to org.apache.kafka.connect.json.JsonConverter.

Warnings are logged if values are specified for either, or if properties that
appear to configure instances of internal converters (i.e., ones prefixed with
either 'internal.key.converter.' or 'internal.value.converter.') are given.

The property 'schemas.enable' is also defaulted to false for internal
JsonConverter instances (both for keys and values) if it isn't specified.

Documentation and code have also been updated with deprecation notices and
annotations, respectively.

Unit tests have been updated in `PluginsTest` to account for the new defaults for `schemas.enable` for internal key/value converters, and to ensure that (for the time being), internal key/value converters are still configurable despite being deprecated.

Author: Chris Egerton <chrise@confluent.io>
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Randall Hauch <rhauch@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #4693 from C0urante/kafka-5540
2018-05-29 16:22:47 -07:00
Ismael Juma 7132a85fc3 KAFKA-6921; Remove old Scala producer and related code
* Removed Scala producers, request classes, kafka.tools.ProducerPerformance, encoders,
tests.
* Updated ConsoleProducer to remove Scala producer support (removed `BaseProducer`
and several options that are not used by the Java producer).
* Updated a few Scala consumer tests to use the new producer (including a minor
refactor of `produceMessages` methods in `TestUtils`).
* Updated `ClientUtils.fetchTopicMetadata` to use `SimpleConsumer` instead of
`SyncProducer`.
* Removed `TestKafkaAppender` as it looks useless and it defined an `Encoder`.
* Minor import clean-ups

No new tests added since behaviour should remain the same after these changes.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Manikumar Reddy O <manikumar.reddy@gmail.com>, Dong Lin <lindong28@gmail.com>

Closes #5045 from ijuma/kafka-6921-remove-old-producer
2018-05-24 17:32:49 -07:00
Ismael Juma e70a191d30
KAFKA-4423: Drop support for Java 7 (KIP-118) and update deps (#5046)
* Set --source, --target and --release to 1.8.
* Build Scala 2.12 by default.
* Remove some conditionals in the build file now that Java 8
is the minimum version.
* Bump the version of Jetty, Jersey and Checkstyle (the newer
versions require Java 8).
* Fixed issues uncovered by the new version if Checkstyle.
* A couple of minor updates to handle an incompatible source
change in the new version of Jetty.
* Add dependency to jersey-hk2 to fix failing tests caused
by Jersey upgrade.
* Update release script to use Java 8 and to take into account
that Scala 2.12 is now built by default.
* While we're at it, bump the version of Gradle, Gradle plugins,
ScalaLogging, JMH and apache directory api.
* Minor documentation updates including the readme and upgrade
notes. A number of Streams Java 7 examples can be removed
subsequently.
2018-05-21 23:17:42 -07:00
Guozhang Wang c9161afda9
MINOR: doc change for deprecate removal (#5006)
Reviewers: John Roesler <john@confluent.io>, Bill Bejeck <bill@confluent.io>, Matthias J. Sax <matthias@confluent.io>
2018-05-15 20:26:19 -07:00
Anna Povzner 9679c44d2b KAFKA-6361: Fix log divergence between leader and follower after fast leader fail over (#4882)
Implementation of KIP-279 as described here: https://cwiki.apache.org/confluence/display/KAFKA/KIP-279%3A+Fix+log+divergence+between+leader+and+follower+after+fast+leader+fail+over

In summary:
- Added leader_epoch to OFFSET_FOR_LEADER_EPOCH_RESPONSE
- Leader replies with the pair( largest epoch less than or equal to the requested epoch, the end offset of this epoch)
- If Follower does not know about the leader epoch that leader replies with, it truncates to the end offset of largest leader epoch less than leader epoch that leader replied with, and sends another OffsetForLeaderEpoch request. That request contains the largest leader epoch less than leader epoch that leader replied with.

Reviewers: Dong Lin <lindong28@gmail.com>, Jun Rao <junrao@gmail.com>
2018-05-09 18:49:51 -07:00
Guozhang Wang 32e97b1d9d
MINOR: Remove deprecated parameter in ProcessorContext#register (#4911)
Updated the upgrade doc as well since we do not have an overloaded function without the deprecated parameter before. Also renamed the 1.2 release version to 2.0.

Reviewers: Bill Bejeck <bill@confluent.io>, Matthias J. Sax <matthias@confluent.io>
2018-05-07 09:22:26 -07:00
Surabhi Dixit 03a2d8243d KAFKA-6867; Corrected the typos in upgrade.html (#4970)
Reviewers: Jakob Homan <jghoman@gmail.com>, Jason Gustafson <jason@confluent.io>
2018-05-04 15:42:44 -07:00
khairy 6655a4d75f KAFKA-6535: Set default retention ms for Streams repartition topics to Long.MAX_VALUE (#4730)
Implements KIP-284

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>, Guozhang Wang <guozhang@confluent.io>
2018-04-30 12:18:40 +02:00
Mickael Maison 83503404e4 KAFKA-6770; Add New Protocol Versions to 1.1.0 documentation (#4847)
Update 1.1 docs to include 2 new versions to existing APIs:
- DescribeConfigs v1
- Fetch v7

Also fix a typo in1 FetchRequest.
2018-04-17 13:07:08 -07:00
Allen Wang 19418fc86a KAFKA-6514; Add API version as a tag for the RequestsPerSec metric (#4506)
Updated `RequestChannel` to include `version` as a tag for all RequestsPerSec metrics (KIP-272). Updated tests to verify that the extra tag exists.
2018-04-16 10:16:26 -07:00
Matthias J. Sax 0c0d8363e5
KAFKA-6054: Fix upgrade path from Kafka Streams v0.10.0 (#4779)
Reviewers: Guozhang Wang <guozhang@confluent.io>, Bill Bejeck <bill@confluent.io>, John Roesler <john@confluent.io>, Damian Guy <damian@confluent.io>
2018-04-06 17:00:52 -07:00
Viktor Somogyi 1dc30272e1 KAFKA-5674; Reduce max.connections.per.ip minimum to 0 (#3610)
By allowing `max.connections.per.ip` to be 0, Kafka can support IP-based filtering using `max.connections.per.ip.overrides`.
2018-04-02 08:45:15 -07:00
Ewen Cheslack-Postava d13cbd0cae KAFKA-3806: Increase offsets retention default to 7 days (KIP-186) (#4648)
Reviewers: Ismael Juma <ismael@juma.me.uk>, Jason Gustafson <jason@confluent.io>
2018-03-05 22:21:53 -08:00
Jason Gustafson 660c0c0aa3 KAFKA-6238; Fix inter-broker protocol message format compatibility check
This patch fixes a bug in the validation of the inter-broker protocol and the message format version. We should allow the configured message format api version to be greater than the inter-broker protocol api version as long as the actual message format versions are equal. For example, if the message format version is set to 1.0, it is fine for the inter-broker protocol version to be 0.11.0 because they both use message format v2.

I have added a unit test which checks compatibility for all combinations of the message format version and the inter-broker protocol version.

Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4583 from hachikuji/KAFKA-6328-REOPENED
2018-02-21 09:38:39 +00:00
Rajini Sivaram b20639db44
MINOR: Enable deep-iteration to print data in DumpLogSegments (#4396)
Enable deep-iteration option when print-data-log is enabled in DumpLogSegments. Otherwise data is not printed.

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>
2018-02-16 23:20:16 +00:00
Guozhang Wang 077fd9ced3
HOTFIX: Fix broken javadoc links on web docs(#4543)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2018-02-08 09:31:58 -08:00
Matthias J. Sax 164fea30ea
MINOR: update upgrade notes for Streams API; message format 0.10 requiered (#4500)
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck <bill@confluent.io>, Guozhang Wang <guozhang@confluent.io.>
2018-02-07 11:43:57 -08:00
Randall Hauch 4c48942f9d KAFKA-5142: Add Connect support for message headers (KIP-145)
**[KIP-145](https://cwiki.apache.org/confluence/display/KAFKA/KIP-145+-+Expose+Record+Headers+in+Kafka+Connect) has been accepted, and this PR implements KIP-145 except without the SMTs.**

Changed the Connect API and runtime to support message headers as described in [KIP-145](https://cwiki.apache.org/confluence/display/KAFKA/KIP-145+-+Expose+Record+Headers+in+Kafka+Connect).

The new `Header` interface defines an immutable representation of a Kafka header (key-value pair) with support for the Connect value types and schemas. This interface provides methods for easily converting between many of the built-in primitive, structured, and logical data types.

The new `Headers` interface defines an ordered collection of headers and is used to track all headers associated with a `ConnectRecord` (and thus `SourceRecord` and `SinkRecord`). This does allow multiple headers with the same key. The `Headers` contains methods for adding, removing, finding, and modifying headers. Convenience methods allow connectors and transforms to easily use and modify the headers for a record.

A new `HeaderConverter` interface is also defined to enable the Connect runtime framework to be able to serialize and deserialize headers between the in-memory representation and Kafka’s byte[] representation. A new `SimpleHeaderConverter` implementation has been added, and this serializes to strings and deserializes by inferring the schemas (`Struct` header values are serialized without the schemas, so they can only be deserialized as `Map` instances without a schema.) The `StringConverter`, `JsonConverter`, and `ByteArrayConverter` have all been extended to also be `HeaderConverter` implementations. Each connector can be configured with a different header converter, although by default the `SimpleHeaderConverter` is used to serialize header values as strings without schemas.

Unit and integration tests are added for `ConnectHeader` and `ConnectHeaders`, the two implementation classes for headers. Additional test methods are added for the methods added to the `Converter` implementations. Finally, the `ConnectRecord` object is already used heavily, so only limited tests need to be added while quite a few of the existing tests already cover the changes.

Author: Randall Hauch <rhauch@gmail.com>

Reviewers: Arjun Satish <arjun@confluent.io>, Ted Yu <yuzhihong@gmail.com>, Magesh Nandakumar <magesh.n.kumar@gmail.com>, Konstantine Karantasis <konstantine@confluent.io>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #4319 from rhauch/kafka-5142-b
2018-01-31 10:40:24 -08:00
Matthias J. Sax d673c8cf94 MINOR: update upgrade notes with regard to KIP-149 (#4439)
Reviewers: Guozhang Wang <wangguoz@gmail.com>, Damian Guy <damian.guy@gmail.com>
2018-01-26 09:18:22 -08:00
Matthias J. Sax 9ef883e62f MINOR: update docs with regard to improved resilience of Kafka Streams (#4380)
Reviewers: Guozhang Wang <wangguoz@gmail.com>, Joel Hamill, Damian Guy <damian.guy@gmail.com>, Bill Bejeck <bill@confluent.io>
2018-01-22 14:37:19 -08:00
cmolter 5d81639907 KAFKA-5890; records.lag should use tags for topic and partition rather than using metric name.
This is the implementation of KIP-225.
It marks the previous metrics as deprecated in the documentation and adds new metrics using tags.

Testing verifies that both the new and the old metric report the same value.

Author: cmolter <cmolter@apple.com>

Reviewers: Jiangjie (Becket) Qin <becket.qin@gmail.com>

Closes #4362 from lahabana/kafka-5890
2018-01-14 16:18:39 -08:00
Ismael Juma 88c2b6849a KAFKA-6317; Maven artifact for kafka should not depend on log4j
It should only depend on slf4j-api (like kafka-clients). The
release tarball still includes log4j and slf4j-log4j12.

Manually verified that there are no duplicate dependencies
in the release tarball and `./gradlew core:dependencies`
looks good.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #4297 from ijuma/kafka-6317-kafka-slf4j-api-only
2017-12-19 15:15:27 +00:00
Guozhang Wang 72eec0a04c KAFKA-6334: minor typo fix in web docs 2017-12-11 18:55:13 -08:00
Dong Lin 078fd21365 KAFKA-6174; Add methods in AdminClient Options classes to restore binary compatibility with 0.11
From 0.11 to 1.0, we moved `DescribeClusterOptions timeoutMs(Integer timeoutMs)` from
DescribeClusterOptions to AbstractOptions (similarly for other Options classes). This can
cause code compiled against 0.11.0.x to fail when it is executed with 1.0 kafka-clients jar.
This patch adds back these methods to restore binary compatibility with 0.11.

Author: Dong Lin <lindong28@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4257 from lindong28/KAFKA-6174
2017-12-06 15:56:56 +02:00
Jason Gustafson 062c5568e1 KAFKA-6238; Fix 1.0.0 upgrade instructions relating to the message format version
The upgrade instructions concerning the message format versions did not account
for upgrades from versions prior to 0.11.0.x.

Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4256 from hachikuji/KAFKA-6328
2017-11-23 14:46:21 +00:00
Guozhang Wang 520b313628 HOTFIX: Add missing template ref in upgrade section 2017-11-03 10:10:35 -07:00
Manikumar Reddy 76a45e0dce MINOR: Update `config/consumer.properties` to have new consumer properties
Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4055 from omkreddy/update-consumer-props
2017-10-12 14:28:55 +01:00
Manikumar Reddy 10cd98cc89 KAFKA-5547; Return TOPIC_AUTHORIZATION_FAILED error if no describe access for topics
Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>, Ismael Juma <ismael@juma.me.uk>, Jason Gustafson <jason@confluent.io>

Closes #3924 from omkreddy/KAFKA-5547-TOPIC-AUTHRO
2017-10-06 12:51:30 -07:00
Rajini Sivaram 9949e1ed1b KAFKA-6004; Allow authentication providers to override error message
Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4015 from rajinisivaram/KAFKA-6004-auth-exception
2017-10-04 13:44:46 -04:00
Jason Gustafson 5383f9bed0 MINOR: Use SecurityProtocol in AuthenticationContext
Since we removed the unused `TRACE` option from `SecurityProtocol`, it now seems safer to expose it from `AuthenticationContext`. Additionally this patch exposes javadocs under security.auth and relocates the `Login` and `AuthCallbackHandler` to a non-public package.

Author: Jason Gustafson <jason@confluent.io>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #3863 from hachikuji/use-security-protocol-in-auth-context
2017-10-04 09:20:21 -07:00
Rajini Sivaram c4b8a7eab4 KAFKA-5738; Upgrade note for cumulative count metric (KIP-187)
Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4014 from rajinisivaram/MINOR-upgrade-KIP-187
2017-10-04 10:53:18 -04:00
Rajini Sivaram a202da742d KAFKA-4764; Upgrade notes for authentication failure handling (KIP-152)
Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #4013 from rajinisivaram/MINOR-upgrade-auth-failure
2017-10-04 10:25:08 -04:00
Dong Lin 716330a5b2 KAFKA-5843; Mx4jLoader.maybeLoad should only be executed if kafka_mx4jenable is set to true
Author: Dong Lin <lindong28@gmail.com>
Author: Ralph Weires

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3797 from lindong28/KAFKA-5843
2017-10-03 11:27:22 +01:00
Ismael Juma 4f4f995325 KAFKA-5746; Return 0.0 from Metric.value() instead of throwing exception
This is less likely to break custom metric reporters and since the method
is deprecated, people will be warned about this potential issue.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Xavier Léauté <xavier@confluent.io>

Closes #3996 from ijuma/avoid-exception-in-measurable-value
2017-10-01 01:29:33 +01:00
Rajini Sivaram 021d8a8e96 KAFKA-5746; Add new metrics to support health checks (KIP-188)
Adds new metrics to support health checks:
1. Error rates for each request type, per-error code
2. Request size and temporary memory size
3. Message conversion rate and time
4. Successful and failed authentication rates
5. ZooKeeper latency and status
6. Client version

Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3705 from rajinisivaram/KAFKA-5746-new-metrics
2017-09-28 21:58:59 +01:00
Manikumar Reddy 8dfdcfd02c KAFKA-5750; Elevate log messages for denials to INFO in SimpleAclAuthorizer
Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3698 from omkreddy/KAFKA-5750
2017-09-27 16:39:12 +01:00
Dong Lin 4e43a7231d MINOR: Improve documentation of AdminClient and fix exception thrown
Make documentation consistent across methods and throw
IllegalStateException instead of IllegalArgumentException in
some cases.

Also include a couple of minor fixes in upgrade.html.

Author: Dong Lin <lindong28@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3781 from lindong28/minor-admin-client-comment
2017-09-26 08:20:26 +01:00
Mickael Maison a0f533266a KAFKA-3356: Remove ConsumerOffsetChecker
Author: Mickael Maison <mickael.maison@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Jason Gustafson <jason@confluent.io>

Closes #3036 from mimaison/KAFKA-3356
2017-09-24 10:08:52 +08:00
Mickael Maison c8c6ab6324 KAFKA-5735; KIP-190: Handle client-ids consistently
Developed with edoardocomar

Author: Mickael Maison <mickael.maison@gmail.com>

Reviewers: Edoardo Comar <ecomar@uk.ibm.com>, Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #3906 from mimaison/KAFKA-5735
2017-09-21 21:16:57 +01:00
Guozhang Wang f5310d645c MINOR: doc changes for KIP-138
1. Core concepts (added the stream time definition), upgrade guide and developer guide.
2. Related Java docs changes.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Bill Bejeck <bill@confluent.io>, Damian Guy <damian.guy@gmail.com>

Closes #3732 from guozhangwang/KMinor-kip138-docs
2017-08-30 09:45:16 -07:00
Guozhang Wang 21fea170d8 MINOR: add upgrade section for 1.0.0
1. Add upgrade section for 1.0.0, including Streams API changes section.
2. Add metrics name changes section.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Eno Thereska <eno.thereska@gmail.com>, Damian Guy <damian.guy@gmail.com>

Closes #3687 from guozhangwang/KMinor-metrics-upgrade-guide
2017-08-24 09:12:12 -07:00
Jason Gustafson 017a21c604 MINOR: Remove unneeded error handlers in deprecated request objects
These handlers were previously used on the broker to handle uncaught exceptions, but now the broker users the new Java request objects exclusively.

Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3646 from hachikuji/remove-old-request-error-handlers
2017-08-10 11:07:53 -07:00
Ismael Juma 69d3d4aad6 KAFKA-5470; Replace -XX:+DisableExplicitGC with -XX:+ExplicitGCInvokesConcurrent in kafka-run-class
This is important because Bits.reserveMemory calls System.gc() hoping to free native
memory in order to avoid throwing an OutOfMemoryException. This call is currently
a no-op due to -XX:+DisableExplicitGC.

It's worth mentioning that -XX:MaxDirectMemorySize can be used to increase the
amount of native memory available for allocation of direct byte buffers.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Apurva Mehta <apurva@confluent.io>, Manikumar Reddy <manikumar.reddy@gmail.com>, Jason Gustafson <jason@confluent.io>

Closes #3371 from ijuma/kafka-5470-explicit-gc-invokes-concurrent
2017-08-09 23:38:57 +01:00
Ismael Juma 5effe72390 MINOR: Next release will be 1.0.0
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #3580 from ijuma/bump-to-1.0.0-SNAPSHOT
2017-07-26 13:01:41 -07:00
Dong Lin fc93fb4b61 KAFKA-4763; Handle disk failure for JBOD (KIP-112)
Author: Dong Lin <lindong28@gmail.com>

Reviewers: Jiangjie Qin <becket.qin@gmail.com>, Jun Rao <junrao@gmail.com>, Ismael Juma <ismael@juma.me.uk>, Onur Karaman <okaraman@linkedin.com>

Closes #2929 from lindong28/KAFKA-4763
2017-07-22 12:35:32 -07:00
Ismael Juma 91b5fc737b MINOR: Give correct instructions for retaining previous unclear leader election behaviour
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #3561 from ijuma/fix-upgrade-note-for-unclean-leader-election
2017-07-22 10:36:12 +01:00
Vahid Hashemian 5bb53e034e KAFKA-5534; KafkaConsumer `offsetForTimes` result should include partitions with no offset
For topics that support timestamp search, if no offset is found for a partition, the partition should still be included in the result with a `null` offset value. This `KafkaConsumer` method currently excludes such partitions from the result.

Author: Vahid Hashemian <vahidhashemian@us.ibm.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Jason Gustafson <jason@confluent.io>

Closes #3460 from vahidhashemian/KAFKA-5534
2017-07-20 17:38:30 -07:00
Gwen Shapira ea8845bbd6 KAFKA-5384: Enable topic deletion by default
https://cwiki.apache.org/confluence/display/KAFKA/KIP-162+-+Enable+topic+deletion+by+default

Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ismael Juma

Closes #3241 from gwenshap/KAFKA-5384
2017-07-18 08:57:06 -07:00
Jason Gustafson e6e2631743 MINOR: Detail message/batch size implications for conversion between old and new formats
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3373 from hachikuji/fetch-size-upgrade-notes
2017-06-21 14:04:19 -07:00
Jason Gustafson 8711e5937f KAFKA-5019; Upgrades notes for idempotent/transactional features and new message format
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3212 from hachikuji/KAFKA-5019
2017-06-03 06:36:29 +01:00
Ismael Juma 4959444afc KAFKA-5236; Increase the block/buffer size when compressing with Snappy or Gzip
We had originally increased Snappy’s block size as part of KAFKA-3704. However,
we had some issues with excessive memory usage in the producer and we reverted
it in 7c6ee8d5e.

After more investigation, we fixed the underlying reason why memory usage seemed
to grow much more than expected via KAFKA-3747 (included in 0.10.0.1).

In 0.10.2, we changed the broker to use the same classes as the producer and the
broker’s block size for Snappy was changed from 32 KB to 1KB. As reported in
KAFKA-5236, the on disk size is, in some cases, 50% larger when the data is compressed
with 1 KB instead of 32 KB as the block size.

As discussed in KAFKA-3704, it may be worth making this configurable and/or allocate
the compression buffers from the producer pool. However, for 0.11.0.0, I think the
simplest thing to do is to default to 32 KB for Snappy (the default if no block size
is provided).

I also increased the Gzip buffer size. 1 KB is too small and the default is smaller
still (512 bytes). 8 KB (which is the default buffer size for BufferedOutputStream)
seemed like a reasonable default.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #3205 from ijuma/kafka-5236-snappy-block-size
2017-06-02 21:20:02 +01:00
Guozhang Wang 4c8ec795a0 MINOR: Add upgrade notes for KAFKA-2358
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3200 from guozhangwang/KMinor-KAFKA-2358-upgrade-notes
2017-06-01 18:24:54 -07:00
Matthias J. Sax 1e350b860a MINOR: update Streams docs for KIP-123
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Ismael Juma, Ewen Chesklack-Postava, Bill Bejeck, Guozhang Wang

Closes #3194 from mjsax/minor-update-docs-for-kip-123
2017-06-01 15:27:41 -07:00
Damian Guy adb4ea74ab MINOR: add upgrade not for group.initial.rebalance.delay.ms
Add a new entry in upgrade.html for `group.initial.rebalance.delay.ms`

Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Guozhang Wang <wangguoz@gmail.com>

Closes #3189 from dguy/relabance-delay
2017-06-01 13:42:12 -07:00
Jiangjie Qin 6b03497915 KAFKA-5344; set message.timestamp.difference.max.ms back to Long.MaxValue
Author: Jiangjie Qin <becket.qin@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #3163 from becketqin/KAFKA-5344
2017-05-30 15:44:34 +01:00
Jason Gustafson cea319a4ad KAFKA-4935; Deprecate client checksum API and compute lazy partial checksum for magic v2
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Apurva Mehta <apurva@confluent.io>, Ismael Juma <ismael@juma.me.uk>

Closes #3123 from hachikuji/KAFKA-4935
2017-05-25 08:21:01 +01:00
Michael André Pearce 1c7fdd2843 KAFKA-4208; Add record headers upgrade doc
Update upgrade.html

Raising this now, as KIP-118 is pulled from release as such submitting this without java 8 changes.

As per remaining review comment from https://github.com/apache/kafka/pull/2772, updating the upgrade notes.

Author: Michael André Pearce <michael.andre.pearce@me.com>
Author: Michael Andre Pearce <Michael.Andre.Pearce@me.com>

Reviewers: Jiangjie Qin <becket.qin@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #2991 from michaelandrepearce/KIP-82
2017-05-21 14:34:19 -07:00
Ismael Juma 59b918ec2b KAFKA-3763; Remove deprecated APIs for 0.11.0.0
This only removes deprecated methods,
fields and constructors in a small number of classes.

Deprecated producer configs is tracked via KAFKA-3353
and the old clients and related (tools, etc.) won't
be removed in 0.11.0.0.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2995 from ijuma/kafka-3763-remove-deprecated-0.11
2017-05-08 10:29:31 -07:00
Ismael Juma 3bcadbfb47 KAFKA-3353; Remove deprecated producer configs
These configs have been deprecated since 0.9.0.0:
block.on.buffer.full, metadata.fetch.timeout.ms and timeout.ms

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2987 from ijuma/kafka-3353-remove-deprecated-producer-configs
2017-05-08 10:00:04 -07:00
Ryan P 8d74920163 KAFKA-3754; Add GC log retention policy to limit size of log
Add a default log retention policy to keep GC logs from growing too large

Author: Ryan P <ryan.n.pridgeon@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #1431 from rnpridgeon/KAFKA-3754
2017-05-03 10:51:32 +01:00
sharad-develop 46da01a4a7 KAFKA-4623; Default unclean.leader.election.enabled to false (KIP-106)
Author: sharad.develop <sharad.develop@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2625 from sharad-develop/KAFKA-4623
2017-05-02 16:27:28 +01:00
Gwen Shapira 3c93fa321b HOTFIX: HTML formatting error in upgrade docs
Introduced in PR #2824. Already fixed in the
website github.

Author: Gwen Shapira <cshapi@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2844 from gwenshap/docs-hotfix

(cherry picked from commit 5f728532ac)
Signed-off-by: Ismael Juma <ismael@juma.me.uk>
2017-04-12 11:09:21 +01:00
Eno Thereska a74f035844 MINOR: Added changes in 0.10.2.1
Author: Eno Thereska <eno@confluent.io>

Reviewers: Gwen Shapira

Closes #2824 from enothereska/minor-docs-0.10.2.1

(cherry picked from commit 5a68fa7e4e)
Signed-off-by: Gwen Shapira <cshapi@gmail.com>
2017-04-11 17:08:04 -07:00
Dong Lin 8b05ad406d KAFKA-4586; Add purgeDataBefore() API (KIP-107)
Author: Dong Lin <lindong28@gmail.com>

Reviewers: Jun Rao <junrao@gmail.com>, Ismael Juma <ismael@juma.me.uk>, Jiangjie Qin <becket.qin@gmail.com>

Closes #2476 from lindong28/KAFKA-4586
2017-03-28 09:59:44 -07:00
Jason Gustafson 5bd06f1d54 KAFKA-4816; Message format changes for idempotent/transactional producer (KIP-98)
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Jun Rao <junrao@gmail.com>, Apurva Mehta <apurva@confluent.io>, Guozhang Wang <wangguoz@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #2614 from hachikuji/exactly-once-message-format
2017-03-24 19:38:43 +00:00
Guozhang Wang 6a55d41fe3 HOTFIX: add js template to upgrade.html
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #2591 from guozhangwang/KHotfix-explicit-version
2017-02-23 13:21:49 -08:00
Jiangjie Qin 1f2ee5f0a9 KAFKA-4340; Follow-up fixing system test failures and handling non default log.retention.ms
Author: Jiangjie Qin <becket.qin@gmail.com>

Reviewers: Jun Rao <junrao@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #2544 from becketqin/KAFKA-4340_follow_up
2017-02-17 02:40:34 -08:00
Matthias J. Sax 2c91b324d4 HOTFIX: fixed section incompatible Steams API changes
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Damian Guy, Guozhang Wang

Closes #2492 from mjsax/hotfixDocs
2017-02-15 13:17:29 -08:00
Guozhang Wang a15fcea799 MINOR: add architecture section and configure / execution for streams
1. Added an architecture section.
2. Added a configuration / execution sub-section to developer guide.

Minor tweaks and a bunch of missing fixes from `kafka-site` repo.

Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>, Derrick Or <derrickor@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2488 from guozhangwang/KMinor-streams-docs-second-pass
2017-02-09 19:13:23 -08:00
Matthias J. Sax ab4ebb4bb9 MINOR: added upgrade and API changes to docs
Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Ismael Juma, Will Marshall, Damian Guy, Guozhang Wang, Michael G. Noll

Closes #2461 from mjsax/addStreamsUpdateSecton
2017-02-02 21:36:27 -08:00
Onur Karaman 063d534c51 KAFKA-3959: enforce offsets.topic.replication.factor upon __consumer_offsets auto topic creation (KIP-115)
Kafka brokers have a config called "offsets.topic.replication.factor" that specify the replication factor for the "__consumer_offsets" topic. The problem is that this config isn't being enforced. If an attempt to create the internal topic is made when there are fewer brokers than "offsets.topic.replication.factor", the topic ends up getting created anyway with the current number of live brokers. The current behavior is pretty surprising when you have clients or tooling running as the cluster is getting setup. Even if your cluster ends up being huge, you'll find out much later that __consumer_offsets was setup with no replication.

The cluster not meeting the "offsets.topic.replication.factor" requirement on the internal topic is another way of saying the cluster isn't fully setup yet.

The right behavior should be for "offsets.topic.replication.factor" to be enforced. Topic creation of the internal topic should fail with GROUP_COORDINATOR_NOT_AVAILABLE until the "offsets.topic.replication.factor" requirement is met. This closely resembles the behavior of regular topic creation when the requested replication factor exceeds the current size of the cluster, as the request fails with error INVALID_REPLICATION_FACTOR.

Author: Onur Karaman <okaraman@linkedin.com>

Reviewers: Jason Gustafson <jason@confluent.io>, Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #2177 from onurkaraman/KAFKA-3959
2017-02-01 19:55:06 -08:00
Ismael Juma 1956b46252 KAFKA-4578; Upgrade notes for 0.10.2.0
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Michael G. Noll

Closes #2445 from ijuma/kafka-4578-upgrade-notes-0.10.2
2017-01-27 11:10:28 +00:00
Hojjat Jafarpour 62206de4e5 KAFKA-4060 Follow-up: update docs accordingly
Updated the docs with changes in KAFKA-4060.

Author: Hojjat Jafarpour <hojjat@Hojjat-Jafarpours-MBP.local>
Author: Hojjat Jafarpour <hojjat@HojjatJpoursMBP.attlocal.net>

Reviewers: Ismael Juma, Matthias J. Sax, Guozhang Wang

Closes #2377 from hjafarpour/KAFKA-4060-docs-update
2017-01-23 10:21:06 -08:00
Rajini Sivaram 80d6c64c1b KAFKA-4626; Add KafkaConsumer#close change to upgrade notes
Author: Rajini Sivaram <rajinisivaram@googlemail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Jason Gustafson <jason@confluent.io>

Closes #2366 from rajinisivaram/KAFKA-4626
2017-01-13 09:32:46 -08:00