Commit Graph

13804 Commits

Author SHA1 Message Date
Lianet Magrans d27a7681c7
MINOR: Update LICENSE-binary with missing licenses (#17271)
Fix dependency version for existing license (commons-logging), and add a missing license for a recently added dependency (HdrHistogram)

Before this PR, checking missing licenses would output:

HdrHistogram-2.2.2 is missing in license file
commons-logging-1.3.2 is missing in license file

With this PR the output is empty (all licenses found)

Reviewers: David Arthur <mumrah@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-26 03:50:01 +08:00
Eric Chang e146c7c916
KAFKA-17520 Align ducktape version in tests/docker/Dockerfile and tests/setup.py (#17240)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-26 03:44:40 +08:00
xijiu 22ed71a2c2
KAFKA-17602 Remove `ConfigUtils.translateDeprecatedConfigs` from JmxReporter (#17267)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-26 03:43:24 +08:00
TengYao Chi 84fee3399e
KAFKA-17087 Deprecate `delete-config` of TopicCommand (#17222)
Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-26 03:37:10 +08:00
Lianet Magrans ab0df20489
KAFKA-17592; Support for SubscribedTopicsRegex in ConsumerGroupHeartbeat RPC (#17257)
This patch includes:
- Bump ConsumerGroupHeartbeatRequest version to include subscribedTopicRegex field
- Introduce new error code for InvalidRegularExpression 
- Bump ConsumerGroupHeartbeatResponse version to support new regex error
- Wire the new field into the GroupMetadataManager when processing HB

Reviewers: David Jacot <djacot@confluent.io>
2024-09-25 00:52:05 -07:00
PoAn Yang bb97d63d41
KAFKA-17578: Remove partitionRacks from TopicMetadata (#17233)
The ModernGroup#subscribedTopicMetadata takes too much memory due to partitionRacks. This is not being used at the moment as the consumer protocol does not support rack aware assignments.

A heap dump from a group with 500 members, 2K subscribed topic partitions shows 654,400 bytes used for partitionRacks. The rest of the ConsumerGroup object holds 822,860 bytes.

Reviewers: David Jacot <djacot@confluent.io>
2024-09-25 00:48:48 -07:00
Vincent Jiang a577d30d38
KAFKA-17076: retain last batch in each round of cleaning (#17193)
In each round of cleaning, retain the last batch even if it's empty, so that logEndOffset info will not get lost after compaction.

Reviewers: Jun Rao <junrao@gmail.com>
2024-09-24 21:20:19 -07:00
TaiJuWu 2bb9f53477
KAFKA-17465 Refactor getMembersFromGroup to be non-blocking (#17080)
Reviewers: TengYao Chi <kitingiao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-25 02:40:32 +08:00
xijiu 265c5160ac
KAFKA-17585 `offsetResetStrategyTimestamp` should return `long` instead of `Long` (#17252)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-25 01:17:43 +08:00
xijiu 3e7080f295
KAFKA-17512 Move LogSegmentTest to storage module (#17174)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-25 01:11:31 +08:00
TaiJuWu db56553fd3
KAFKA-17530 Remove blacklist/whitelist from ReplaceField (#17237)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-25 01:02:28 +08:00
Sushant Mahajan 67f966f348
KAFKA-17469: Moved share external interfaces to share module. (#17262)
Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>, David Arthur <mumrah@gmail.com>
2024-09-24 12:08:01 -04:00
Ken Huang 1bd9dc3ffc
MINOR: add a space for kafka.metrics.polling.interval.secs description (#17256)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-24 21:51:05 +08:00
José Armando García Sancio 34c158f67f
MINOR: Replace gt and lt char with html encoding (#17235)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-24 19:29:11 +08:00
TengYao Chi f51fc16c16
KAFKA-17459 Stablize reassign_partitions_test.py (#17250)
This test expects that each partition can receive the record, so using a non-null key helps distribute the records more randomly.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-24 17:36:36 +08:00
Oleg Bonar 42cc3c0ad5
Update zstd-jni lib (#17253)
Reviewers: Josep Prat <josep.prat@aiven.io>
2024-09-24 08:52:47 +02:00
Matthias J. Sax 2e8bae8c7e
MINOR: Fix SubscriptionResponseWrapperSerializer (#17205)
The existing check is not correct, because `byte` range is from -128...127.
This PR fixes the check to use `< 0`.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-23 19:32:30 -07:00
Sean Quah 9352faa8fc
KAFKA-17495: Factor out assignor benchmark code into utils class (#17133)
ServerSideAssignorBenchmark and TargetAssignmentBuilderBenchmark have
the same topic and member subscription setup for the most part. Factor
out the commonality so that it's easier to share new setups between both
benchmarks.

Reviewers: David Jacot <djacot@confluent.io>
2024-09-23 07:55:54 -07:00
Stig Døssing a407cc3a31
KAFKA-17575 Remove unnecessary file.deleteOnExit call (#17226)
TestUtils.tempDirectory already registers a shutdown hook for deleting the temp directory. There's no reason to also call File.deleteOnExit, since that just registers another hook to do the same thing.

Reviewers: TengYao Chi <kitingiao@gmail.com>, Ken Huang <s7133700@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-23 20:28:08 +08:00
Matthias J. Sax d063443825
MINOR: fixing JavaDocs and other cleanup (#17207)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-23 11:46:40 +08:00
Matthias J. Sax 9685aa7547
KAFKA-16331 remove EOSv1 from StreamsProducer (#17212)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-23 11:34:39 +08:00
Chia-Chuan Yu 8c2a0619e2
KAFKA-17528 Remove whitelist/blacklist from JMXReporter (#17179)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-23 11:17:01 +08:00
Matthias J. Sax bf450ebe5a
MINOR: fix generics in streams-test-utils package (#17206)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-21 22:48:38 +08:00
Matthias J. Sax 2489cf586f
KAFKA-16331: remove EOSv1 config from StreamsConfig (#17170)
Reviewers: Bill Bejeck <bill@confluent.io>
2024-09-20 15:55:03 -07:00
bboyleonp666 9a11898c8c
KAFKA-17567 Remove TestTruncate (#17234)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-21 05:43:24 +08:00
Ken Huang 79753594ca
KAFKA-16813 Add global timeout (60s) for `@ClusterTemplate`, `@ClusterTest` and `@ClusterTests` (#16957)
Reviewers: TaiJuWu <tjwu1217@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-21 02:36:13 +08:00
TaiJuWu 3783385dc1
KAFKA-17542: Use actions/labeler for automatic PR labeling (#17208)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, David Arthur <mumrah@gmail.com>
2024-09-19 19:39:12 -04:00
David Arthur 57013061c1
MINOR Fix CI workflow for push event (#17239)
On trunk, our CI runs in response to "push" events. The change in #17227 causes the workflow template to be invalid, which prevents the build from starting. This patch fixes that by defaulting to `false`

Reviewers: Justine Olshan <jolshan@confluent.io>
2024-09-19 17:07:31 -04:00
David Arthur e3983c2a44
MINOR Fix is-public-fork input type (#17227)
Fix the CI workflow to treat the `is-public-fork` input as a string. 

Also add some docs on composite actions.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-19 14:13:06 -04:00
Kuan-Po Tseng 8569cf102b
KAFKA-17356 add integration test for KAFKA-17310 (#17211)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-20 01:14:58 +08:00
David Arthur ef567bcc3f
MINOR: Group the junit parser console logs (#17229)
Use ::group:: feature of GitHub Actions to hide some of the verbose output from Parse JUnit Tests step.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-20 00:50:07 +08:00
xijiu e90b246002
KAFKA-17555 uncomment all checks of testCommonNameLoggingTrustManagerMixValidAndInvalidCertificates (#17220)
Reviewers: TengYao Chi <kitingiao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-20 00:00:36 +08:00
Jason Taylor 14c45bed5a
KAFKA-17579: Dynamic LogCleaner configurations are picked up on restart
Reviewers: Christo Lolov <lolovc@amazon.com>
2024-09-19 15:52:58 +01:00
David Arthur 31d395163e
KAFKA-17553 Fix shutdown race condition in StreamThreadTest (#17191)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-19 15:17:25 +08:00
陳昱霖(Yu-Lin Chen) 8f5cf9968f
KAFKA-17515 Fix flaky RestoreIntegrationTest.shouldInvokeUserDefinedGlobalStateRestoreListener (#17187)
Found two issues in the flaky tests: (Put the log analysis under Jira comments.)

1) The error "java.nio.file.DirectoryNotEmptyException" occurs if the flush() of kafkaStreams.close() and purgeLocalStreamsState() are triggered in the same time. (The current timeout is 5 sec, which is too short since the CI is unstable and slow).
2) Racing issue: Task to-be restored in ks-1 are rebalanced to ks-2 before entering active restoring state. So no onRestoreSuspend() was triggered.

To solve the issues:
1) Remove the timeout in kafkaStreams.close()
2) Ensure all tasks in ks-1 are active restoring before start second KafkaStreams(ks-2)

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-19 14:58:04 +08:00
Jakub Scholz 09e3c12057
KAFKA-17543: Improve and clarify the error message about generated broker IDs in migration (#17210)
This PR tries to improve the error message when broker.id is set to -1 and ZK migration is enabled. It is not
needed to disable the broker.id.generation.enable option. It is sufficient to just not use it (by not setting
the broker.id to -1).

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Luke Chen <showuon@gmail.com>
2024-09-18 11:45:25 -07:00
Colin P. McCabe 3636afb737 HOTFIX: add file that was missed from KAFKA-17048 commit 2024-09-18 11:33:14 -07:00
José Armando García Sancio aee44efd40
KAFKA-17048; Update docs for KIP-853 (#17076)
Change the configurations under config/kraft to use controller.quorum.bootstrap.servers instead of controller.quorum.voters. Add comments explaining how to use the older static quorum configuration where appropriate.

In docs/ops.html, remove the reference to "tentative timelines for ZooKeeper removal" and "Tiered storage is considered as an early access feature" since they are no longer up-to-date. Add KIP-853 information.

In docs/quickstart.html, move the ZK instructions to be after the KRaft instructions. Update the KRaft instructions to use KIP-853.

In docs/security.html, add an explanation of --bootstrap-controller and document controller.quorum.bootstrap.servers instead of controller.quorum.voters.

Reviewers: Mickael Maison <mickael.maison@gmail.com>, Alyssa Huang <ahuang@confluent.io>, Colin P. McCabe <cmccabe@apache.org>
2024-09-18 11:23:58 -07:00
Kamal Chandraprakash 77e952687b
KAFKA-17559: Fix the flaky RemoteLogOffsetReader#testTaskQueueFullAndCancelTask (#17214)
Reviewers: David Arthur <mumrah@gmail.com>, Satish Duggana <satishd@apache.org>, Luke Chen <showuon@gmail.com>
2024-09-18 21:49:47 +05:30
David Jacot 74bebf6e3d
MINOR: Log pending join members (#17219)
I am still chasing KAFKA-17493. I was able to narrow it down to an issue with the pending join members. This patch logs them in order to help me troubleshooting it further. I will revert this change when the issue is root caused.

Reviewers: David Arthur <mumrah@gmail.com>
2024-09-18 00:34:06 -07:00
Ken Huang 95b734d3c8
KAFKA-17472 Speed Up DescribeConsumerGroupTest (#17117)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-18 04:56:45 +08:00
Colin Patrick McCabe f1e7954ad1 MINOR: update documentation link to 3.9 (#17216)
Reviewers: David Arthur <mumrah@gmail.com>
2024-09-17 07:36:48 -07:00
Matthias J. Sax aaf3fc05f8
MINOR: fix rawtype warning in StandbyTask (#17203)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-16 11:49:19 -07:00
Mickael Maison f1c011a8b5
KAFKA-14482 Move LogLoader to storage module (#17042)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-17 00:37:49 +08:00
Matthias J. Sax 21e67b3d21
KAFKA-16331 Remove EOSv1 from Kafka Streams integration tests (#17110)
Reviewers: Bill Bejeck <bbejeck@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-17 00:27:51 +08:00
Ivan Yurchenko d0f4d691b5
KAFKA-17322: Document required header versions in Protocol Guide (#16867)
Reviewers: Josep Prat <josep.prat@aiven.io>
2024-09-16 14:19:47 +02:00
Ivan Yurchenko ab1eb8d561
KAFKA-17494: Document message structure in Protocol Guide (#17122)
Reviewers: Josep Prat <josep.prat@aiven.io>
2024-09-16 12:03:59 +02:00
Kamal Chandraprakash 344d8a60af
KAFKA-15859 Make RemoteListOffsets call an async operation (#16602)
This is the part-2 of the KIP-1075

To find the offset for a given timestamp, ListOffsets API is used by the client. When the topic is enabled with remote storage, then we have to fetch the remote indexes such as offset-index and time-index to serve the query. Also, the ListOffsets request can contain the query for multiple topics/partitions.

The time taken to read the indexes from remote storage is non-deterministic and the query is handled by the request-handler threads. If there are multiple LIST_OFFSETS queries and most of the request-handler threads are busy in reading the data from remote storage, then the other high-priority requests such as FETCH and PRODUCE might starve and be queued. This can lead to higher latency in producing/consuming messages.

In this patch, we have introduced a delayed operation for remote list-offsets call. If the timestamp need to be searched in the remote-storage, then the request-handler threads will pass-on the request to the remote-log-reader threads. And, the request gets handled in asynchronous fashion.

Covered the patch with unit and integration tests.

Reviewers: Satish Duggana <satishd@apache.org>, Luke Chen <showuon@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-16 07:25:06 +08:00
Bill Bejeck e1f11c6714
MINOR: Need to split the controller bootstrap servers on ',' in list comprehenson (#17183)
Kafka Streams system tests were failing with this error:

Failed to parse host name from entry 3001@d for the configuration controller.quorum.voters.  Each entry should be in the form `{id}@{host}:{port}`.

The cause is that in kafka.py line 876, we create a delimited string from a list comprehension, but the input is a string itself, so each character gets appended vs. the bootstrap server string of host:port. To fix this, this PR adds split(',') to controller_quorum_bootstrap_servers. Note that this only applies when dynamicRaftQuorum=False

Reviewers: Alyssa Huang <ahuang@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-16 02:26:06 +08:00
Lianet Magrans 6744a718c2
KAFKA-17066 new consumer updateFetchPositions all in background thread (#16885)
Fix for the known issue that the logic for updating fetch positions in the new consumer was being performed partly in the app thread, party in the background thread, potentially leading to race conditions on the subscription state.

This PR moves the logic for updateFetchPositions to the background thread as a single event (instead of triggering separate events to validate, fetchOffsets, listOffsets). A new UpdateFetchPositionsEvent is triggered from the app thread and processed in the background, where it performs those same operations and updates the subscription state accordingly, without blocking the background thread.

This PR maintains the existing logic for keeping a pendingOffsetFetchRequest that does not complete within the lifetime of the updateFetchPositions attempt, and may be used on the next call to updateFetchPositions.

Reviewers: Andrew Schofield <aschofield@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-16 01:43:45 +08:00