Commit Graph

184 Commits

Author SHA1 Message Date
Guozhang Wang 4f682b3c0a
KAFKA-8729: Add upgrade docs for KIP-467 on augmented produce response (#7522)
Add a paragraph explaining the producer caller's expected behavior change on record validation failure scenarios that are improved by KIP-467.

Reviewers: Tu V. Tran <tu@confluent.io>, Jason Gustafson <jason@confluent.io>
2019-10-24 19:45:09 -07:00
Manikumar Reddy f46eb292f5 MINOR: Add upgrade docs for 2.4.0 release
Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>

Closes #7530 from omkreddy/2.4-upgrade-docs
2019-10-22 20:51:10 +05:30
A. Sophie Blee-Goldman 3e30bf5439 Explain the separate upgrade paths for consumer groups and Streams (#7516)
Document the upgrade path for the consumer and for Streams (note that they differ significantly).

Needs to be cherry-picked to 2.4

Reviewers: Guozhang Wang <wangguoz@gmail.com>
2019-10-16 16:09:09 -07:00
Guozhang Wang d112ffd8d8
KAFKA-8880: Docs on upgrade-guide (#7385)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2019-09-24 19:32:14 -07:00
Matthias J. Sax 1ae0956892
HOTFIX: fix Kafka Streams upgrade note for broker backward compatibility (#7363)
Reviewer: Guozhang Wang <guozhang@confluent.io>
2019-09-24 09:54:30 -07:00
Stanislav Kozlovski 18d4e57f6e KAFKA-8345 (KIP-455): Controller and KafkaApi changes (part 3/4) (#7128)
Implement the revisions to the controller state machine and reassignment logic needed for KIP-455.

Add the addingReplicas and removingReplicas field to the topics ZNode.

Deprecate the methods initiating a reassignment via direct ZK access in KafkaZkClient.

Add ControllerContextTest, and add some test cases to ReassignPartitionsClusterTest.

Add a note to upgrade.html recommending not initiating reassignments during an upgrade.

Reviewers: Colin P. McCabe <cmccabe@apache.org>, Viktor Somogyi <viktorsomogyi@gmail.com>
2019-09-10 22:19:44 -07:00
A. Sophie Blee-Goldman cf32a1a6a0 KAFKA-8179: Part 4, add CooperativeStickyAssignor (#7130)
Splits the existing StickyAssignor logic into an AbstractStickyAssignor class, which is extended by the existing (eager) StickyAssignor and by the new CooperativeStickyAssignor which supports incremental cooperative rebalancing.

There is no actual change to the logic -- most methods from StickyAssignor were moved to AbstractStickyAssignor to be shared with CooperativeStickyAssignor, and the abstract MemberData memberData(Subscription) method converts the Subscription to the embedded list of owned partitions for each assignor.

The "generation" logic is left in, however this is always Optional.empty() for the CooperativeStickyAssignor as onPartitionsLost should always be called when a generation is missed.

Reviewers: Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
2019-08-27 14:41:33 -07:00
Justine Olshan 88087e91dd MINOR: Clean up the sticky partitioner code a bit (#7151)
Reviewers: Colin P. McCabe <cmccabe@apache.org>, Lucas Bradstreet <lucasbradstreet@gmail.com>
2019-08-12 14:17:28 -07:00
Ismael Juma 22d4ccd8ac
MINOR: Update docs to reflect the ZK 3.5.5 upgrade (#7149)
Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2019-08-02 06:09:51 -07:00
A. Sophie Blee-Goldman 6fbac3cfa8 KAFKA-8179: PartitionAssignorAdapter (#7110)
Follow up to new PartitionAssignor interface merged in 7108 is merged

Adds a PartitionAssignorAdapter class to maintain backwards compatibility

Reviewers: Boyang Chen <boyang@confluent.io>, Jason Gustafson <jason@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
2019-07-31 13:53:38 -07:00
Jason Gustafson 53b10a37a4
MINOR: Fix api exception single argument constructor usage (#6956)
Api exception types usually have a single argument constructor which accepts the exception message. However, some types actually use this constructor to initialize a field. This inconsistency has led to some cases where exception messages were being incorrectly passed to these constructors and interpreted incorrectly. For example, this leads to confusing messages like the following in the log when we hit a GROUP_MAX_SIZE_REACHED error:
```
Attempt to join group failed due to fatal error: Consumer group The consumer group has reached its max size. already has the configured ...
```
This patch fixes the problem by changing these constructors so that the exception message is provided consistently. This affected `GroupAuthorizationException`, `TopicAuthorizationException`, and `GroupMaxSizeReachedException`. 

Reviewers: Stanislav Kozlovski <stanislav_kozlovski@outlook.com>, Kamal Chandraprakash <kamal.chandraprakash@gmail.com>, Ismael Juma <ismael@juma.me.uk>
2019-07-17 09:42:57 -07:00
Kamal Chandraprakash 11337afecb MINOR: Fix static membership documentation link in upgrade notes (#7001)
Reviewers: Jason Gustafson <jason@confluent.io>
2019-07-03 11:19:50 -07:00
Colin Patrick McCabe f74cedb985
MINOR: add upgrade text (#7013)
Reviewers: David Arthur <mumrah@gmail.com>
2019-06-28 14:50:37 -07:00
Konstantine Karantasis c6ddd31887 MINOR: Update docs for KIP-415 (#6958)
Update docs with KIP-415 details for incremental cooperative rebalancing

Author: Konstantine Karantasis <konstantine@confluent.io>
Reviewer: Randall Hauch <rhauch@gmail.com>
2019-06-17 21:53:20 -07:00
Almog Gavra 8e161580b8 KAFKA-8305; Support default partitions & replication factor in AdminClient#createTopic (KIP-464) (#6728)
This commit makes three changes:
- Adds a constructor for NewTopic(String, Optional<Integer>, Optional<Short>)
which allows users to specify Optional.empty() for numPartitions or
replicationFactor in order to use the broker default.
- Changes AdminManager to accept -1 as valid options for replication
factor and numPartitions (resolving to broker defaults).
- Makes --partitions and --replication-factor optional arguments when creating
topics using kafka-topics.sh.
- Adds a dependency on scalaJava8Compat library to make it simpler to
convert Scala Option to Java Optional

Reviewers: Ismael Juma <ismael@juma.me.uk>, Ryanne Dolan <ryannedolan@gmail.com>, Jason Gustafson <jason@confluent.io>
2019-06-05 14:10:00 -07:00
José Armando García Sancio 121308cc7a KAFKA-8286; Generalized Leader Election Admin RPC (KIP-460) (#6686)
Implements KIP-460: https://cwiki.apache.org/confluence/display/KAFKA/KIP-460%3A+Admin+Leader+Election+RPC.

Reviewers: Jun Rao <junrao@gmail.com>, Jason Gustafson <jason@confluent.io>
2019-05-29 10:44:52 -07:00
Boyang Chen 27943e3987 KAFKA-8219: add doc changes for static membership release (#6790)
* add doc changes for static membership release

* address comments

* address comments for a separate page

* address Matthias' comment
2019-05-27 14:25:47 -07:00
Matthias J. Sax 7df79e1508
MINOR: add Kafka Streams upgrade notes for 2.3 release (#6758)
Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, John Roesler <john@confluent.io>, Bill Bejeck <bill@confluent.io>
2019-05-23 23:19:12 -07:00
Matthias J. Sax f47b8493bc
MINOR: Add 2.2.0 upgrade instructions (#6501)
Reviewers: Jason Gustafson <jason@confluent.io>
2019-03-26 09:41:29 -07:00
Matthias J. Sax 82615256ff MINOR: add MacOS requirement to Streams docs
*More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.*

*Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.*

Author: Matthias J. Sax <matthias@confluent.io>

Reviewers: Bill Bejeck

Closes #6490 from mjsax/minor-streams-docs-rocksdb
2019-03-23 15:48:24 -07:00
Viktor Somogyi 489a6e1674 MINOR: Fix line break issue in upgrade notes (#6320)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2019-02-25 18:20:02 -08:00
Viktor Somogyi-Vass 776041db11 KAFKA-7804: Update docs for topic-command related KIP-377
This PR adds a upgrade notes and changes examples to use the bootstrap-server.

Author: Viktor Somogyi-Vass <viktorsomogyi@gmail.com>

Reviewers: Srinivas <srinivas96alluri@gmail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>

Closes #6118 from viktorsomogyi/topiccommand-adminclient-doc
2019-02-04 13:46:33 -08:00
hejiefang ffd6f2a2e8 MINOR: Fix doc format in upgrade notes
Author: hejiefang <he.jiefang@zte.com.cn>

Reviewers: Srinivas <srinivas96alluri@gmail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>

Closes #6076 from hejiefang/modifynotable
2019-01-02 19:30:51 +05:30
Vahid Hashemian c3e7d6252c KAFKA-6774; Improve the default group id behavior in KafkaConsumer (KIP-289) (#5877)
Improve the default group id behavior by:
* changing the default consumer group to null, where no offset commit or fetch, or group management operations are allowed
* deprecating the use of empty (`""`) consumer group on the client

Reviewers: Jason Gustafson <jason@confluent.io>
2018-11-16 00:58:56 -08:00
Jason Gustafson 63889b36e5 KAFKA-7481; Add upgrade/downgrade notes for 2.1.x
We seemed to be missing the usual rolling upgrade instructions so I've added them and emphasized the impact for downgrades after bumping the inter-broker protocol version.

Author: Jason Gustafson <jason@confluent.io>

Reviewers: Dong Lin <lindong28@gmail.com>, Ismael Juma <ismael@juma.me.uk>

Closes #5857 from hachikuji/KAFKA-7481
2018-11-06 13:56:33 -08:00
Viktor Somogyi 262bb006d5 MINOR: add upgrade note for KIP-336
Author: Viktor Somogyi <viktorsomogyi@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Andras Katona <41361962+akatona84@users.noreply.github.com>, Dong Lin <lindong28@gmail.com>

Closes #5685 from viktorsomogyi/upgrade-notes-for-serializer-consolidation
2018-10-25 09:43:39 -07:00
Jason Gustafson 3f7e4fb8ac MINOR: Add a note about Zstandard compression in the upgrade docs
Author: Jason Gustafson <jason@confluent.io>

Reviewers: Dong Lin <lindong28@gmail.com>

Closes #5817 from hachikuji/add-zstandard-upgrade-notes
2018-10-18 11:13:38 -07:00
Bill Bejeck 763b72c9a5 MINOR: Doc changes for KIP-324 (#5788)
Reviewers: Matthias J. Sax <matthias@confluent.io>, John Roesler <john@confluent.io>
2018-10-15 18:55:39 -07:00
Ismael Juma 6a1bb547c0 KAFKA-7372: Upgrade Jetty for preliminary Java 11 and TLS 1.3 support (#5600)
"Jetty 9.4.12 includes compatibility for JDK 11. Additionally, TLS 1.3 support has been implemented. While full functionality for new JDK features is not yet supported, this release has been built and tested for compatibility with the latest releases from Oracle."

http://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00124.html

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>
2018-09-03 15:21:20 +01:00
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