Commit Graph

107 Commits

Author SHA1 Message Date
Gantigmaa Selenge 5cb2504c49
KAFKA-14669: Use the generated docs for MirrorMaker configs in the doc (#13658)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-07-18 11:27:19 -04:00
hudeqi 8d24716f27
MINOR: Avoid slow Set.removeAll(List) in MirrorSourceConnector (#13992)
Reviewed-by: Greg Harris <greg.harris@aiven.io>
2023-07-12 12:19:35 -07:00
hudeqi 51bc41031b
KAFKA-15139: Avoid slow Set.removeAll(List) in MirrorCheckpointConnector (#13946)
Reviewed-by: Greg Harris <greg.harris@aiven.io>
2023-07-10 14:35:46 -07:00
Divij Vaidya d9a3e60dcc
KAFKA-14718: Wait for MirrorMaker to start before executing test (#13284) 2023-07-10 12:53:01 -04:00
Ismael Juma 1f4cbc5d53
MINOR: Add JDK 20 CI build and remove some branch builds (#12948)
It's good for us to add support for Java 20 in preparation for Java 21 - the next LTS.

Given that Scala 2.12 support has been deprecated, a Scala 2.12 variant is not included.

Also remove some branch builds that add load to the CI, but have
low value: JDK 8 & Scala 2.13 (JDK 8 support has been deprecated),
JDK 11 & Scala 2.12 (Scala 2.12 support has been deprecated) and
JDK 17 & Scala 2.12 (Scala 2.12 support has been deprecated).

A newer version of Mockito (4.9.0 -> 4.11.0) is required for Java 20 support, but we
only use it with Scala 2.13+ since it causes compilation errors with Scala 2.12. Similarly,
we upgrade easymock when the Java version is 16 or newer as it's incompatible
with powermock (which doesn't support Java 16 or newer).

Filed KAFKA-15117 for a test that fails with Java 20 (SslTransportLayerTest.testValidEndpointIdentificationCN).

Finally, fixed some lossy conversions that were added after #13582 was submitted.

Reviewers: Ismael Juma <ismael@juma.me.uk>
2023-06-30 01:12:00 -07:00
Bo Gao 005416879e
KAFKA-15053: Use case insensitive validator for security.protocol config (#13831)
Fixed a regression described in KAFKA-15053 that security.protocol only allows uppercase values like PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. With this fix, both lower case and upper case values will be supported (e.g. PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL, plaintext, ssl, sasl_plaintext, sasl_ssl)

Reviewers: Chris Egerton <chrise@aiven.io>, Divij Vaidya <diviv@amazon.com>
2023-06-29 10:13:21 +02:00
Greg Harris 3b72b0abb1
MINOR: Optimize runtime of MM2 integration tests by batching transactions (#13816)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-06-21 14:51:54 -04:00
minjian.cai d751c13950
MINOR: Fix typos for connect (#13885)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-06-20 16:16:16 -04:00
Chris Egerton 73dd51e137
Revert "MINOR: Reduce MM2 integration test flakiness due to missing dummy offset commits (#13838)" (#13864)
Reviewers: Josep Prat <josep.prat@aiven.io>

Reverts commit 505c7b6487.
2023-06-16 12:10:26 -04:00
Chris Egerton e1d59920f4
KAFKA-15059: Remove pending rebalance check when fencing zombie source connector tasks (#13819)
Discovered while researching KAFKA-14718

Currently, we perform a check during zombie fencing that causes the round of zombie fencing to fail when a rebalance is pending (i.e., when we've detected from a background poll of the config topic that a new connector has been created, that an existing connector has been deleted, or that a new set of connector tasks has been generated).

It's possible but not especially likely that this check causes issues when running vanilla Kafka Connect. Even when it does, it's easy enough to restart failed tasks via the REST API.

However, when running MirrorMaker 2 in dedicated mode, this check is more likely to cause issues as we write three connector configs to the config topic in rapid succession on startup. And in that mode, there is no API to restart failed tasks aside from restarting the worker that they are hosted on.

In either case, this check can lead to test flakiness in integration tests for MirrorMaker 2 both in dedicated mode and when deployed onto a vanilla Kafka Connect cluster.

This check is not actually necessary, and we can safely remove it. Copied from Jira:

>If the worker that we forward the zombie fencing request to is a zombie leader (i.e., a worker that believes it is the leader but in reality is not), it will fail to finish the round of zombie fencing because it won't be able to write to the config topic with a transactional producer.

>If the connector has just been deleted, we'll still fail the request since we force a read-to-end of the config topic and refresh our snapshot of its contents before checking to see if the connector exists.

>And regardless, the worker that owns the task will still do a read-to-end of the config topic and verify that (1) no new task configs have been generated for the connector and (2) the worker is still assigned the connector, before allowing the task to process any data.

In addition, while waiting on a fix for KAFKA-14718 that adds more granularity for diagnosing failures in the DedicatedMirrorIntegrationTest suite (#13284), some of the timeouts in that test are bumped to work better on our CI infrastructure.

Reviewers: Mickael Maison <mickael.maison@gmail.com>, Yash Mayya <yash.mayya@gmail.com>, Viktor Somogyi-Vass <viktorsomogyi@gmail.com>
2023-06-16 11:58:36 +02:00
Greg Harris 505c7b6487
MINOR: Reduce MM2 integration test flakiness due to missing dummy offset commits (#13838)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-06-15 12:02:32 +02:00
Chris Egerton a14e73a036
KAFKA-14980: Fix MirrorSourceConnector source consumer configuration (#13723)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Josep Prat <josep.prat@aiven.io>
2023-05-19 14:45:01 +02:00
Christo Lolov f44ee4fab7
MINOR: Remove unnecessary code in client/connect (#13259)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-05-02 17:39:31 +02:00
Greg Harris baf127a663
KAFKA-14666: Add MM2 in-memory offset translation index for offsets behind replication (#13429)
Reviewers: Daniel Urban <durban@cloudera.com>, Chris Egerton <chrise@aiven.io>
2023-04-26 03:30:13 -04:00
Greg Harris 7061475445
KAFKA-14905: Reduce flakiness in MM2 ForwardingAdmin test due to admin timeouts (#13575)
Reduce flakiness of `MirrorConnectorsWithCustomForwardingAdminIntegrationTest`

Reviewers: Josep Prat <jlprat@apache.org>
2023-04-21 21:55:41 +02:00
Gantigmaa Selenge 751a8af1f0
KAFKA-14420: Use incrementalAlterConfigs API for syncing topic configurations in MirrorMaker 2 (KIP-894) (#13373)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Chris Egerton <chrise@aiven.io>
2023-04-10 11:55:49 -04:00
Yash Mayya 970dea60e8
KAFKA-14785 (KIP-875): Connect offset read REST API (#13434)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-04-02 13:09:33 -04:00
Dániel Urbán 0aa365add8
KAFKA-14838: Add flow/connector/task/role information to MM2 Kafka client.id configs (#13458)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-03-31 10:50:11 -04:00
hudeqi f7ea9cfb50
KAFKA-14837/14842:Avoid the rebalance caused by the addition and deletion of irrelevant groups for MirrorCheckPointConnector (#13446)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-03-28 09:19:52 -04:00
Greg Harris 3c4fb01ba8
MINOR: Refactor Mirror integration tests to reduce duplication (#13428)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-03-24 16:18:26 +01:00
Mickael Maison 1d8f79964e
KAFKA-14740: Add source tag to MirrorSourceMetrics - KIP-911 (#13420)
New add.source.alias.to.metrics setting to add the source cluster alias to the MirrorSourceConnector metrics

Reviewers: Chris Egerton <fearthecellos@gmail.com>
2023-03-21 19:16:04 +01:00
Greg Harris 897ced12ee
KAFKA-14797: Emit offset sync when offset translation lag would exceed max.offset.lag (#13367)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-03-21 09:31:08 -04:00
Mickael Maison 34ec6bdef8
MINOR: Log consumer groups mirrored by checkpoint tasks (#13389)
Reviewers: Chris Egerton <fearthecellos@gmail.com>
2023-03-16 14:22:36 +01:00
Chris Egerton 39d41e5aac
KAFKA-14781: Downgrade MM2 log message severity when no ACL authorizer is configured on source broker (#13351)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-03-08 10:25:55 -05:00
Mickael Maison 71fa008b45
KAFKA-14745: Cache the ReplicationPolicy instance in MirrorConnectorConfig (#13328)
Reviewers: Chris Egerton <fearthecellos@gmail.com>
2023-03-03 12:14:17 +01:00
Greg Harris a54a34a11c
KAFKA-12468, KAFKA-13659, KAFKA-12566: Fix MM2 causing negative downstream lag, syncing stale offsets, and flaky integration tests (#13178)
KAFKA-12468: Fix negative lag on down consumer groups synced by MirrorMaker 2

KAFKA-13659: Stop syncing consumer groups with stale offsets in MirrorMaker 2

KAFKA-12566: Fix flaky MirrorMaker 2 integration tests

Reviewers: Chris Egerton <chrise@aiven.io>
2023-02-17 17:25:17 -05:00
Dániel Urbán b9754747d6
KAFKA-14653: Use raw properties instead of post-resolution properties for MirrorMaker connectors(#13163)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-02-14 16:36:34 -05:00
Chris Egerton 8cfafba279
KAFKA-14021: Implement new KIP-618 APIs in MirrorSourceConnector (#12366)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-02-13 10:09:14 -05:00
Chris Egerton f93d5af839
KAFKA-15086, KAFKA-9981: Intra-cluster communication for Mirror Maker 2 (#13137)
Reviewers: Daniel Urban <durban@cloudera.com>, Greg Harris <greg.harris@aiven.io>, Viktor Somogyi-Vass <viktorsomogyi@gmail.com>, Mickael Maison <mickael.maison@gmail.com>
2023-02-09 10:50:07 -05:00
Yash Mayya 8f00782be7
MINOR: Connect Javadocs improvements (#13120)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Greg Harris <gharris1727@gmail.com>
2023-02-06 12:07:53 +01:00
Chris Egerton 9ab689f7d4
KAFKA-14610: Publish Mirror Maker 2 offset syncs in task commit() method (#13181)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Greg Harris <gharris1727@gmail.com>
2023-02-06 10:53:58 +01:00
Nikolay 26119bae90
KAFKA-14463 Close ConnectorClientConfigOverridePolicy instances (#13144)
Reviewers: Chris Egerton <chrise@aiven.io>
2023-01-23 21:38:37 -05:00
emilnkrastev 6e7e2e08a9
KAFKA-12558: Do not prematurely mutate internal partition state in Mirror Maker 2 (#11818)
Reviewers: Greg Harris <greg.harris@aiven.io>, Chris Egerton <chrise@aiven.io>
2023-01-10 09:46:25 -05:00
csolidum ad94dc2134
KAFKA-14545: Make MirrorCheckpointTask.checkpoint handle null OffsetAndMetadata gracefully (#13052)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Greg Harris <gharris1727@gmail.com>
2023-01-04 12:02:52 +01:00
Mickael Maison 429a2570b0
MINOR: Don't throw if MirrorMaker topics already exist (#13005)
Reviewers: Luke Chen <showuon@gmail.com>
2022-12-20 14:33:32 +01:00
Greg Harris 83732489ab
KAFKA-14443: Close topic creation Admin clients in MM2 connectors (#12955)
Reviewers: Omnia G H Ibrahim <o.g.h.ibrahim@gmail.com>, Chris Egerton <chrise@aiven.io>
2022-12-07 16:59:46 -05:00
Mickael Maison 40af3a7450
KAFKA-14413: Separate MirrorMaker configurations for each connector (#12899)
Reviewers: Luke Chen <showuon@gmail.com>, Chris Egerton <fearthecellos@gmail.com>, Christo Lolov  <christo_lolov@yahoo.com>
2022-11-30 18:37:37 +01:00
Greg Harris fca5bfe13c
KAFKA-14346: Remove hard-to-mock RestClient calls (#12828)
Reviewers: Chris Egerton <chrise@aiven.io>
2022-11-17 17:51:54 -05:00
Omnia G H Ibrahim 46bee5bcf3
KAFKA-13401: KIP-787 - MM2 manage Kafka resources with custom Admin implementation. (#12577)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Tom Bentley <tombentley@users.noreply.github.com>

Co-authored-by: Tom Bentley <tombentley@users.noreply.github.com>
Co-authored-by: oibrahim3 <omnia@apple.com>
2022-11-15 11:21:24 +01:00
Chris Egerton bb84476215
KAFKA-14098: Add meaningful client IDs for Connect workers (#12544)
Reviewers: Greg Harris <greg.harris@aiven.io>, Mickael Maison <mickael.maison@gmail.com>
2022-11-08 10:22:30 -05:00
Omnia G H Ibrahim 9608f3a2e7
KAFKA-14344: Build EmbeddedKafkaCluster with common configs used for all clients (#12804)
Reviewers: Mickael Maison <mickael.maison@gmail.com>

, Tom Bentley <tbentley@redhat.com>
2022-11-07 11:11:16 +01:00
(+ (* 1 2 3 4) 5 6 7) 61f48a9f63
KAFKA-14314: Add check for null upstreamTopic (#12769)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
Co-authored-by: John Krupka <john.krupka@united.com>
2022-10-28 17:28:26 +02:00
Rens Groothuijsen b09cadcaa7
KAFKA-13985: Skip committing MirrorSourceTask records without metadata (#12602)
Reviewers: Chris Egerton <chrise@aiven.io>
2022-09-15 09:55:44 -04:00
Mickael Maison 0507597597
KAFKA-10360: Allow disabling JMX Reporter (KIP-830) (#12046)
This implements KIP-830: https://cwiki.apache.org/confluence/display/KAFKA/KIP-830%3A+Allow+disabling+JMX+Reporter
It adds a new configuration `auto.include.jmx.reporter` that can be set to false to disable the JMX Reporter. This configuration is deprecated and will be removed in the next major version.

Reviewers: Tom Bentley <tbentley@redhat.com>, Christo Lolov <christo_lolov@yahoo.com>
2022-08-24 18:30:31 +02:00
Mickael Maison 4bd3fd840d
KAFKA-14160: Streamline clusterId retrieval in Connect (#12536)
Cache the Kafka cluster Id once it has been retrieved to avoid creating many Admin clients at startup.

Reviewers: Chris Egerton <fearthecellos@gmail.com>
2022-08-23 17:09:22 +02:00
Mickael Maison 1cc1e776f7
KAFKA-14095: Improve handling of sync offset failures in MirrorMaker (#12432)
We should not treat UNKNOWN_MEMBER_ID as an unexpected error in the Admin client. In MirrorMaker, check the result of committing offsets and log an useful error message in case that failed with UNKNOWN_MEMBER_ID.

Reviewers: Chris Egerton <fearthecellos@gmail.com>
2022-08-01 12:59:41 +02:00
Mickael Maison cdd19a5326
KAFKA-12635: Don't emit checkpoints for partitions without offset-syncs (#11748)
Reviewers: Luke Chen <showuon@gmail.com>,  Viktor Somogyi-Vass <viktorsomogyi@gmail.com>, Dániel Urbán <urb.daniel7@gmail.com>, Federico Valeri <fedevaleri@gmail.com>
2022-05-16 17:44:14 +02:00
Mickael Maison 989d3ce07f
MINOR: Small cleanups in connect/mirror (#12113)
Reviewers: Luke Chen <showuon@gmail.com>, Divij Vaidya <divijvaidya13@gmail.com>
2022-05-10 14:49:56 +08:00
RivenSun df507e56e2
KAFKA-13793: Add validators for configs that lack validators (#12010)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Luke Chen <showuon@gmail.com>, Chris Egerton <fearthecellos@gmail.com>, Christo Lolov <lolovc@amazon.com>, Divij Vaidya <divijvaidya13@gmail.com>
2022-05-09 20:29:17 +02:00
Mickael Maison f9201666a1
MINOR: Small cleanups in mirror/mirror-client (#11749)
Reviewers: Jason Gustafson <jason@confluent.io>
2022-02-14 10:17:54 +01:00