Commit Graph

3228 Commits

Author SHA1 Message Date
mingdaoy 4603f7495e
KAFKA-18030 Remove old upgrade-system-tests modules (#17843)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-12-10 11:19:14 +08:00
TengYao Chi e8837465a5
KAFKA-18067: Kafka Streams can leak Producer client under EOS (#17931)
To avoid leaking producers, we should add a 'closedflag toStreamProducer` indicating whether we should reset prouder.

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Anna Sophie Blee-Goldman <ableegoldman@apache.org>
2024-12-09 16:12:05 -08:00
Joao Pedro Fonseca Dantas d5c2029434
KAFKA-16339: [4/4 KStream#flatTransformValues] Remove Deprecated "transformer" methods and classes (#17882)
Reviewer: Matthias J. Sax <matthias@confluent.io>
2024-12-08 20:10:11 -08:00
yx9o 38e727fe4d
KAFKA-17864: add descriptions to fields in the agreement (#17681)
Improve descriptive information in Kafka protocol documentation.

Reviewers: Mickael Maison <mickael.maison@gmail.com>, Andrew Schofield <aschofield@confluent.io>, Apoorv Mittal <apoorvmittal10@gmail.com>
2024-12-07 18:47:11 +00:00
Andrew Schofield e7d986e48c
KAFKA-17550: DescribeGroups v6 exploitation (#17706)
This PR introduces the DescribeGroups v6 API as part of KIP-1043. This adds an error message for the described groups so that it is possible to get some context on the error. It also changes the behaviour for when the group ID cannot be found but returning error code GROUP_ID_NOT_FOUND rather than NONE.

Reviewers: David Jacot <djacot@confluent.io>
2024-12-05 23:12:24 -08:00
A. Sophie Blee-Goldman 09e8fa2dbe
KAFKA-18026: KIP-1112, migrate stream-table joins to use ProcesserSupplier#stores (#18047)
Covers wrapping of processors and state stores for KStream-KTable joins

Reviewers: Almog Gavra <almog@responsive.dev>, Guozhang Wang <guozhang.wang.us@gmail.com>
2024-12-05 10:06:11 -08:00
Ken Huang 2b43c49f51
KAFKA-18050 Upgrade the checkstyle version to 10.20.2 (#17999)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-12-05 10:59:18 +08:00
A. Sophie Blee-Goldman 31d97bc3c9
KAFKA-18026: KIP-1112, skip re-registering aggregate stores in StatefulProcessorNode (#18015)
Minor followup to #17929 based on this discussion

Also includes some very minor refactoring/renaming on the side. The only real change is in the KGroupedStreamImpl class

Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>
2024-12-03 22:18:55 -08:00
Peter Lee c76fb5cb9b
KAFKA-17893: Support record keys in the foreignKeyExtractor argument of KTable foreign join (#17756)
Currently, KTable foreign key joins only allow extracting the foreign key from the value of the source record. This forces users to duplicate data that might already exist in the key into the value when the foreign key needs to be derived from both the key and value. This leads to:

- Data duplication
- Additional storage overhead
- Potential data inconsistency if the duplicated data gets out of sync
- Less intuitive API when the foreign key is naturally derived from both key and value

This change allows user to extract the foreign key from the key and value of the source record.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-12-03 17:34:13 +01:00
A. Sophie Blee-Goldman 184b64fb41
KAFKA-18026: migrate KStream and KTable aggregates to use ProcesserSupplier#stores (#17929)
As part of KIP-1112, to maximize the utility of the new ProcessorWrapper, we need to migrate the DSL operators to the new method of attaching state stores by implementing ProcessorSupplier#stores, which makes these stores available for inspection by the user's wrapper.

This PR covers the aggregate operator for both KStream and KTable.


Reviewers: Guozhang Wang <guozhang.wang.us@gmail.com>, Rohan Desai <rohan@responsive.dev>
2024-12-03 02:09:43 -08:00
TengYao Chi 6fd951a9c0
KAFKA-17610 Drop alterConfigs (#18002)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-12-02 23:26:06 +08:00
Almog Gavra 5243fb9a7d
KAFKA-18026: migrate KTableSource to use ProcesserSupplier#stores (#17903)
This PR is part of the implementation for KIP-1112 (KAFKA-18026). In order to have DSL operators be properly wrapped by the interface suggestion in 1112, we need to make sure they all use the ConnectedStoreProvider#stores method to connect stores instead of manually calling addStateStore.

This is a refactor only, there is no new behaviors.

Reviewers: Anna Sophie Blee-Goldman <ableegoldman@apache.org>
2024-11-27 14:04:27 -08:00
Bill Bejeck d334f60944
MINOR: KStreamRepartitionIntegrationTest bug (#17963)
The KStreamRepartitionIntegrationTest.shouldThrowAnExceptionWhenNumberOfPartitionsOfRepartitionOperationDoNotMatchSourceTopicWhenJoining test was taking two minutes due not reaching an expected condition. By updating to have the StreamsUncaughtExceptionHandler return a response of SHUTDOWN_CLIENT the expected ERROR state is now reached. The root cause was using the Thread.UncaughtExceptionHandler to handle the exception.

Without this fix, the test takes 2 minutes to run, and now it's 1 second.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-27 16:08:05 -05:00
Joao Pedro Fonseca Dantas 3f834781a4
KAFKA-12844: clean up TaskId (#17904)
Rename topicGroupId as subtopology.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-26 17:06:36 -08:00
Matthias J. Sax f5d712396b
MINOR: fix warnings in Kafka Streams state store tests (#17855)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-27 01:54:21 +08:00
Matthias J. Sax 95947d2f58
KAFKA-17299: add unit tests for previous fix (#17919)
https://github.com/apache/kafka/pull/17899 fixed the issue, but did not
add any unit tests.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-11-25 12:03:57 -08:00
Kaushik Raina 7908a4838b
Fix long running RangeQueryIntegrationTest. (#17933)
Noticed that RangeQueryIntegrationTest is taking ~approx 20 - 30min to run
Upon deep dive in logs, noticed that there were error for consumer rebalancing and test was stuck in loop
Seems like due to same application.id across tests, Kafka Streams application is failing to track its state correctly across rebalances.

Reviewers: Bill Bejeck <bbejeck@apache.org>
2024-11-25 11:42:02 -05:00
Andrew Schofield d17a149205
KAFKA-17956 Remove Admin.listShareGroups (#17912)
KIP-1043 introduced Admin.listGroups as the way to list all types of groups. As a result, Admin.listShareGroups has been removed. This PR is the final step of the removal.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-25 22:05:35 +08:00
Manikumar Reddy 3268435fd6
KAFKA-18013: Add AutoOffsetResetStrategy internal class (#17858)
- Deprecates OffsetResetStrategy enum
- Adds new internal class AutoOffsetResetStrategy
- Replaces all OffsetResetStrategy enum usages with AutoOffsetResetStrategy
- Deprecate old/Add new constructors to MockConsumer

 Reviewers: Andrew Schofield <aschofield@confluent.io>, Matthias J. Sax <matthias@confluent.io>
2024-11-25 19:11:12 +05:30
A. Sophie Blee-Goldman 87b902d35d
KAFKA-18026: KIP-1112, ProcessorWrapper API with PAPI and partial DSL implementation (#17892)
This PR includes the API for KIP-1112 and a partial implementation, which wraps any processors added through the PAPI and the DSL processors that are written to the topology through the ProcessorParameters#addProcessorTo method.

Further PRs will complete the implementation by converting the remaining DSL operators to using the #addProcessorTo method, and future-proof the processor writing mechanism to prevent new DSL operators from being implemented incorrectly/without the wrapper

Reviewers: Almog Gavra <almog@responsive.dev>, Guozhang Wang <guozhang.wang.us@gmail.com>
2024-11-23 21:19:19 -08:00
Laxman Ch d36b24f45f
KAFKA-17299: Fix Kafka Streams consumer hang issue (#17899)
When Kafka Streams skips overs corrupted messages, it might not resume previously paused partitions,
if more than one record is skipped at once, and if the buffer drop below the max-buffer limit at the same time.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-22 18:32:00 -08:00
Joao Pedro Fonseca Dantas 866f0cc308
KAFKA-16339: [3/4 KStream#transformValues] Remove Deprecated "transformer" methods and classes (#17266)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-22 15:07:03 -08:00
Matthias J. Sax 240efbb99d
MINOR: improve JavaDocs for Kafka Streams exceptions and error handlers (#17856)
Reviewers: Bill Bejeck <bill@confluent.io>
2024-11-21 11:46:23 -08:00
Matthias J. Sax 2519e4af0c
KAFKA-18038: fix flakey test StreamThreadTest.shouldLogAndRecordSkippedRecordsForInvalidTimestamps (#17889)
With KAFKA-17872, we changed some internals that effects the conditions
of this test, introducing a race condition when the expected log
messages are printed.

This PR adds additional wait-conditions to the test to close the race
condition.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-11-21 11:42:28 -08:00
Bill Bejeck fd9de50de1
KAFKA-18041: Update key for storing global consumer instance id for consistency (#17869)
This PR updates the key for storing the KIP-714 client instance id for the global consumer to follow a more consistent pattern of the other embedded Kafka Streams consumer clients.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-20 16:14:03 -05:00
Sebastien Viale 615c8c0e11
KAFKA-17850: fix leaking internal exception in state manager (#17711)
Following the KIP-1033 a FailedProcessingException is passed to the Streams-specific uncaught exception handler.

The goal of the PR is to unwrap a FailedProcessingException into a StreamsException when an exception occurs during the flushing or closing of a store

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-11-19 10:51:07 +01:00
Nick Telford 57299cfbb1
KAFKA-17954: Error getting oldest-iterator-open-since-ms from JMX (#17713)
The thread that evaluates the gauge for the oldest-iterator-open-since-ms runs concurrently
with threads that open/close iterators (stream threads and interactive query threads). This PR
fixed a race condition between `openIterators.isEmpty()` and `openIterators.first()`, by catching
a potential exception. Because we except the race condition to be rare, we rather catch the
exception in favor of introducing a guard via locking.

Reviewers: Matthias J. Sax <matthias@confluent.io>, Anna Sophie Blee-Goldman <ableegoldman@apache.org>
2024-11-18 17:45:49 -08:00
Bill Bejeck 50c15b94c9
KAFKA-17561: KIP-1091 add operator metrics (#17820)
Implementation of KIP-1091 adding operator metrics to Kafka Streams
Updated existing tests to validate added metrics
Reviewers: Bruno Cadonna <cadonna@apache.org>, Matthias Sax <mjsax@apache.org>
2024-11-18 10:30:09 -05:00
TengYao Chi 84fe66827d
KAFKA-18006: Add 3.9.0 to end-to-end test (streams) (#17800)
This commit adds AK 3.9 to the system tests on trunk.
Follow-up of #17797

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Bruno Cadonna <cadonna@apache.org>
2024-11-15 14:58:24 +01:00
Matthias J. Sax f02c28b21d
KAFKA-17994 Checked exceptions are not handled (#17817)
Reviewers: Bill Bejeck <bill@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-11-15 20:36:03 +08:00
David Arthur 48ff6a6b53
MINOR Fix a few test names (#17788)
Remove or update custom display names to make sure we actually include the test method as the first part of the display name.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Bill Bejeck <bill@confluent.io>
2024-11-13 13:28:38 -05:00
Bill Bejeck a22fe10544
Update javadoc on split to mention first matching (#17799)
Clarify the functionality of split matching on first predicate
Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-13 11:41:48 -05:00
Rajini Sivaram 52d2fa5c8b
KAFKA-17885: Enable clients to rebootstrap based on timeout or error code (KIP-1102) (#17720)
Implementation of https://cwiki.apache.org/confluence/display/KAFKA/KIP-1102%3A+Enable+clients+to+rebootstrap+based+on+timeout+or+error+code
- Introduces rebootstrap trigger interval config metadata.recovery.rebootstrap.trigger.ms, set to 5 minutes by default
- Makes rebootstrap the default for metadata.recovery.strategy
- Adds new error code REBOOTSTRAP_REQUIRED, introduces top-level error code in metadata response. On this error, clients rebootstrap.
- Configs apply to producers, consumers, share consumers, admin clients, Connect and KStreams clients.

Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>,  Manikumar Reddy <manikumar.reddy@gmail.com>
2024-11-13 13:01:08 +00:00
Colin Patrick McCabe 085b27ec6e
KAFKA-17987 Remove assorted ZK-related files (#17768)
Remove zookeeper files in bin:
- bin/zookeeper-security-migration.sh
- bin/zookeeper-server-start.sh
- bin/zookeeper-server-stop.sh
- bin/zookeeper-shell.sh

Remove files used to configure Kafka in zookeeper mode in config:
- config/server.properties
- config/zookeeper.properties

Remove ZK references from all remaining Kafka configuration files.

Remove ZK references from all log4j.properties files.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-13 20:32:18 +08:00
Danica Fine 9682e63c11
KAFKA-17109: Reduce log message load for failed locking (#16705)
Reducing log messaging by removing stacktrace.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-11-13 12:32:40 +01:00
Sebastien Viale c8f360c5f5
KAFKA-17744: Improve state updater logs when restorating state (#17714)
The logs for Kafka Streams local state restoration incorrectly refer to the StreamThread instead of the StateUpdater thread, which is responsible for decoupling the restoration process. The restore consumer also references StreamThread instead of StateUpdater. 

This commit corrects the log message for more clarity.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-11-12 17:20:44 +01:00
Nick Telford a696b4d6f4
KAFKA-17978: Fix invalid topology on Task assignment (#17778)
When we introduced "startup tasks" in #16922, we initialized them with
no input partitions, because they aren't known until assignment.

However, when we update them during assignment, it's possible that we
update the topology with the incorrect source topics for some internal
topics, due to a difference in the way internal topics are handled for
StandbyTasks.

To resolve this, we now initialize startup tasks with the correct input
partitions, by calculating them from the Topology.

When we assign our startup tasks, we now conditionally update their
input partitions only if they've actually changed, just as we do for
regular StandbyTasks.

With this, the E2E tests now pass, as expected.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-11-12 17:18:42 +01:00
Matthias J. Sax 0bc91be145
KAFKA-17872: Update consumed offsets on records with invalid timestamp (#17710)
TimestampExtractor allows to drop records by returning a timestamp of -1. For this case, we still need to update consumed offsets to allows us to commit progress.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-11-09 17:21:16 -08:00
A. Sophie Blee-Goldman 32d9dec9e1
rebase to fix merge conflict (#17702)
Fixes an issue with the TTD in the specific case where users don't specify an initial time for the driver and also don't specify a start timestamp for the TestInputTopic, then pipe input records without timestamps. This combination results in a slight mismatch in the expected timestamps for the piped records, which can be noticeable when writing tests with very small time deltas.

The problem is that, while both the TTD and the TestInputTopic will be initialized to the "current time" when not otherwise specified, it's possible for some milliseconds to have passed between the creation of the TTD and the creation of the TestInputTopic. This can result in a TestInputTopic getting a start timestamp that's several ms larger than the driver's time, and ultimately causing the piped input records to have timestamps slightly in the future relative to the driver.

In practice even those who hit this issue might not notice it if they aren't manipulating time in their tests, or are advancing time by enough to negate the several-milliseconds of difference. However we noticed a test fail due to this because we were testing a ttl-based processor and had advanced the driver time by only 1 millisecond past the ttl. The piped record should have been expired, but because it's timestamp was a few milliseconds longer than the driver's start time, this test ended up failing.

Reviewers: Matthias Sax <mjsax@apache.org>, Bruno Cadonna <cadonna@apache.org>, Lucas Brutschy < lbrutschy@confluent.io>
2024-11-08 19:04:07 -08:00
Joao Pedro Fonseca Dantas 95650431df
KAFKA-16339: [2/4 KStream#flatTransform] Remove Deprecated "transformer" methods and classes (#17245)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-07 17:35:17 -08:00
Bill Bejeck c69a6b0e80
KAFKA-17248 - KIP 1076 Add process-id to get carried to telemetry results (#17630)
This PR adds the processId to Kafka Streams client instance metrics

Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-07 12:12:42 -05:00
Matthias J. Sax f2b19baee0
KIP-16331: Remove EOS-v1 from StreamsConfigUtils (#17691)
Reviewers: Bill Bejeck <bill@confluent.io>
2024-11-06 18:18:49 -08:00
Bill Bejeck d170b52362
KAFKA-17635: Ensure only committed offsets are returned for purging (#17686)
Kafka Streams actively purges records from repartition topics. Prior to this PR, Kafka Streams would retrieve the offset from the consumedOffsets map, but here are a couple of edge cases where the consumedOffsets can get ahead of the commitedOffsets map. In these cases, this means Kafka Streams will potentially purge a repartition record before it's committed.

Updated the current StreamTask test to cover this case

Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-06 17:45:27 -05:00
Andrew Schofield 8cbd2edfe7
KAFKA-17896: Admin.describeClassicGroups (#17680)
The implementation of Admin.describeClassicGroups from KIP-1043.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2024-11-06 17:14:10 +05:30
Abhishek Giri c903bdf496
KAFKA-12827 Remove Deprecated method KafkaStreams#setUncaughtExceptionHandler (#16988)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-05 22:08:32 -08:00
Joao Pedro Fonseca Dantas 069667b6b2
KAFKA-16339: [1/4 KStream#transform] Remove Deprecated "transformer" methods and classes (#17198)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-11-05 22:04:41 -08:00
Bill Bejeck 4ed0a958e5
KAFKA-17248 - KIP 1076 implementation (#17021)
Implementation of KIP-1076 to allow for adding client application metrics to the KIP-714 framework

Reviewers: Apoorv Mittal <amittal@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Matthias Sax <mjsax@apache.org>
2024-11-05 11:29:54 -05:00
Kuan-Po Tseng e3f953483c
KAFKA-17857 Move AbstractResetIntegrationTest and subclasses to tools (#17594)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-05 04:16:19 +08:00
Linsiyuan9 af53758746
KAFKA-17814 Use `final` declaration to replace the suppression `this-escape` (#17613)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-03 15:00:02 +08:00
Bill Bejeck 908dfa30d7
MINOR: Update clientInstanceIds from EOS_V2 refactor (#17664)
Updates KafkaStreams.clientInstanceIds method to correctly populate the client-id -> clientInstanceId map that was altered in a previous refactoring.

Added a test that confirms ClientInstanceIds is correctly storing consumer and producer instance ids

Reviewers: Matthias Sax <mjsax@apache.org>
2024-11-02 10:37:46 -04:00
Andrew Schofield 3d9f88daf3
KAFKA-17546 Admin.listGroups and kafka-groups.sh (#17626)
This implements the kafka-groups.sh tool and Admin.listGroups method defined in KIP-1043.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-02 05:37:04 +08:00
PoAn Yang 5a3b544d61
KAFKA-17880 Move integration test from streams module to streams/integration-tests module (#17615)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-11-01 18:21:06 +08:00
Ken Huang 2a46282b2a
KAFKA-17873: Add description to all packages in the public API (#17605)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2024-10-30 15:41:10 +01:00
Nick Telford 571f50817c
KAFKA-17411: Create local state Standbys on start (#16922)
Instead of waiting until Tasks are assigned to us, we pre-emptively
create a StandbyTask for each non-empty Task directory found on-disk.

We do this before starting any StreamThreads, and on our first
assignment (after joining the consumer group), we recycle any of these
StandbyTasks that were assigned to us, either as an Active or a
Standby.

We can't just use these "initial Standbys" as-is, because they were
constructed outside the context of a StreamThread, so we first have to
update them with the context (log context, ChangelogReader, and source
topics) of the thread that it has been assigned to.

The motivation for this is to (in a later commit) read StateStore
offsets for unowned Tasks from the StateStore itself, rather than the
.checkpoint file, which we plan to deprecate and remove.

There are a few additional benefits:

Initializing these Tasks on start-up, instead of on-assignment, will
reduce the time between a member joining the consumer group and beginning
processing. This is especially important when active tasks are being moved
over, for example, as part of a rolling restart.

If a Task has corrupt data on-disk, it will be discovered on startup and
wiped under EOS. This is preferable to wiping the state after being
assigned the Task, because another instance may have non-corrupt data and
would not need to restore (as much).

There is a potential performance impact: we open all on-disk Task
StateStores, and keep them all open until we have our first assignment.
This could require large amounts of memory, in particular when there are
a large number of local state stores on-disk.

However, since old local state for Tasks we don't own is automatically
cleaned up after a period of time, in practice, we will almost always
only be dealing with the state that was last assigned to the local
instance.

Reviewers: Anna Sophie Blee-Goldman <ableegoldman@apache.org>, Bruno Cadonna <cadonna@apache.org>, Matthias Sax <mjsax@apache.org>
2024-10-29 12:59:25 -07:00
Alieh Saeedi 4817eb9227
KAFKA-15344: Streams task should cache consumer nextOffsets (#17091)
This PR augments Streams messages with leader epoch. In case of empty buffer queues, the last offset and leader epoch are retrieved from the streams task 's cache of nextOffsets.

Co-authored-by: Lucas Brutschy <lbrutschy@confluent.io>
Reviewers: Lucas Brutschy <lbrutschy@confluent.io>, Matthias J. Sax <matthias@confluent.io>
2024-10-29 09:30:11 +01:00
Yung fc4b739578
KAFKA-17854 Improve tests for ReadOnlyWindowStoreStub#fetch and #backwardFetch (#17586)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-25 02:35:07 +08:00
Sanskar Jhajharia 8faeb9390d
MINOR: Code cleanup Kafka Streams (#16050)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-10-23 16:54:06 -07:00
Alieh Saeedi 14a098b289
KAFKA-17600: Add nextOffsets to the ConsumerRecords (#17414)
This PR implements KIP-1094.

Reviewers: Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Lucas Brutschy <lbrutschy@confluent.io>
2024-10-23 16:25:50 +02:00
Dmitry Werner 1c405875fa
MINOR: Fix duplicate condition in ReadOnlyWindowStoreStub (#17540)
Reviewers: Ken Huang <s7133700@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-10-23 02:23:14 +08:00
Matthias J. Sax f30f2d03e9
KAFKa-16331: remove EOSv1 support for getting clientInstanceIds (#17521)
With EOSv1 removed, we don't need to collect producer's clientInstanceIds per task any longer. While we never completed this feature, we can remove the corresponding scaffolding code.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-10-21 18:24:46 -07:00
Loïc GREFFIER d6b5943570
KAFKA-17099: Print the origin processor node in logs when a processing exception occurs (#17475)
This PR leverages the updates brought by KIP-1033 to get the name of the processor node which raised a processing exception and display it in the stacktrace instead of the source node.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-10-18 11:31:09 +02:00
Zhengke Zhou 6d39031958
KAFKA-17558: Remove parameterization from streams integration tests (#17315)
Integration tests should run with either at-least-once or exactly-once.
There is no need to run them twice.
This PR removes the corresponding test parameters and picks either one of both.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-10-17 13:54:30 -07:00
A. Sophie Blee-Goldman 1de4f27ec0
KAFKA-17805: Deprecate named topologies in Kafka Streams (#17513)
Deprecate for 4.0. This feature will be phased out, with new functionality generally not supporting named topologies, so users are encouraged to migrate off of named topologies as soon as possible.

Though who are using this experimental feature are encouraged to reach out by filing a jira ticket so we can better understand your use case and how to support it going forward.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-10-16 14:24:30 -07:00
Bill Bejeck 493e4c1cc9
KAFKA-17248: Override admin client to push metrics true, test for case where streams metrics [4/N] (#17422)
This PR disables metrics push for the AdminClient as the default. KafkaStreams enables metrics push for its internal AdminClient.

Tests are included that assert an error if a user disables either the main consumer or admin client metrics push but Kafka Streams metrics push config is enabled.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-10-16 15:01:50 -04:00
Bruno Cadonna 3b619db404
MINOR: Fix flakiness in state updater unit tests (#16562)
Unit test shouldRestoreSingleActiveStatefulTask() in DefaultStateUpdaterTest is flaky.

The flakiness comes from the fact that the state updater thread could call the first time changelogReader.allChangelogsCompleted() before it calls the first time changelogReader.completedChangelogs(). That happens, if runOnce() is run before the state updater thread reads a task from the input queue.

This commit fixes the flakiness, by making stubbing changelogReader.allChangelogsCompleted() depend on stubbing changelogReader.completedChangelogs().

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>, Matthias J. Sax <matthias@confluent.io>
2024-10-16 14:37:50 +02:00
Gaurav Narula b03fe66cfe
KAFKA-17759 Remove Utils.mkSet (#17460)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-11 21:20:43 +08:00
Matthias J. Sax 8d186bfb4f
KAFKA-16331: Remove task producers from Kafka Streams (#17344)
With EOSv1 removal, we don't have producer-per-task any longer,
and thus can remove the corresponding code which handles task producers.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Bill Bejeck <bill@confluent.io>
2024-10-08 15:36:05 -07:00
Mickael Maison 3815339e05
KAFKA-14158: Remove auto.include.jmx.reporter configuration (#17360)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-08 16:17:07 +02:00
Matthias J. Sax ccdf176d05
KAFKA-16331: Remove KafkaClientSupplier from unit tests (#17330)
We don't pass in a client-supplier into `StreamsProducer` any longer,
so we can simplify `StreamsProducerTest` and remove client-supplier.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-10-07 14:10:16 -07:00
Bill Bejeck dbc0e9af70
KAFKA-17248: Add reporter for getting client metrics into telemetry pipeline and test [3/N] (#17377)
This PR adds a Reporter instance that will add streams client metrics to the telemetry pipeline.
For testing, the PR adds a unit test.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-10-07 16:21:36 -04:00
Mickael Maison b4dd434f5e
KAFKA-17692 Remove KafkaServer references from IntegrationTestUtils (#17372)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-07 03:27:33 +08:00
Bill Bejeck 930f165546
KAFKA-17248: Add reporter for adding thread metrics to telemetry pipeline and a test [2/N] (#17376)
This PR adds a Reporter instance that will add streams thread metrics to the telemetry pipeline.
For testing, the PR adds a unit test.

Reviewers: Matthias Sax <mjsax@apache.org>
2024-10-05 18:28:31 -04:00
Bill Bejeck c11a38f9df
KAFKA-17248: KIP-1076 add admin client test helper [1/N] (#17375)
No functional changes, this PR contains a test-helper class for working with AdminClient

Reviewers Matthias Sax <mjsax@apache.org>
2024-10-04 13:58:16 -04:00
Chia-Ping Tsai 979740b49d
KAFKA-17589 Move JUnit extensions to test-common module (#17318)
This patch completely removes the compile-time dependency on core for both test and main sources by introducing two new modules.

1) `test-common` include all the common test implementation code (including dependency on :core for BrokerServer, ControllerServer, etc)
2) `test-common:api` new sub-module that just includes interfaces including our junit extension

Reviewers: David Arthur <mumrah@gmail.com>
2024-10-03 10:28:37 +08:00
Matthias J. Sax 22a14d75c2
MINOR: improve KafkaStreams.State JavaDocs (#17351)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-03 10:23:50 +08:00
David Arthur be1929c44c
KAFKA-17680 Add timeout to streams test teardown (#17346)
When calling KafkaStreams#close from teardown methods in integration tests, we need to pass timeout to avoid potentially blocking forever during teardown.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-10-02 16:36:21 -04:00
Matthias J. Sax 4312ce6d25
MINOR: improve RecordCollectorImpl (#17185)
Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-10-01 12:33:42 -07:00
陳昱霖(Yu-Lin Chen) 4c90d3518b
KAFKA-17646 Fix flaky KafkaStreamsTest.testStateGlobalThreadClose (#17310)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-10-02 02:18:13 +08:00
Alieh Saeedi bb112570ae
KAFKA-17109: Move lock backoff retry to streams TaskManager (#17209)
This PR implements exponential backoff for failed initializations of tasks due to lock exceptions. It increases the time between two consecutive attempts of initializing the tasks.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2024-09-30 13:30:54 +02:00
Arnav Dadarya 05696037d3
KAFKA-12823 Remove Deprecated method KStream#through (#16761)
Implements KIP-1087

Reviewers: Matthias J. Sax <matthias@confluent.io>, Lucas Brutschy <lbrutschy@confluent.io>, Anna Sophie Blee-Goldman <ableegoldman@apache.org>
2024-09-28 15:21:26 -07:00
Omnia Ibrahim 1854d4b8a1
KAFKA-14572: Migrate EmbeddedKafkaCluster used by Streams integration tests from EmbeddedZookeeper to KRaft (#17016)
Migrate the EmbeddedKafkaCluster from the EmbeddedZookeeper to KRaft

Reviewers Bill Bejeck <bbejeck@apache.org>
2024-09-27 15:49:12 -04:00
Matthias J. Sax ce5491b7bf
KAFKA-16331: remove KafkaClientSupplier from StreamsProducer (#17259)
With EOSv1 removed, we don't need to create a producer per task, and thus can simplify the code by removing KafkaClientSupplier from the deeply nested StreamsProducer, to simplify the code.

Reviewers: Bill Bejeck <bill@confluent.io>
2024-09-26 17:07:00 -07:00
Joao Pedro Fonseca Dantas 27a3c75216
KAFKA-17488: Cleanup (test) code for Kafka Streams "metric version" (#17182)
This PR simply StreamsMetricsImpl to avoid passing in the unused "metric version" parameter.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-26 17:04:01 -07:00
Matthias J. Sax 6b9ea76456
KAFKA-17057: Add RETRY option to ProductionExceptionHanlder (#17163)
Implements KIP-1065

Reviewers: Alieh Saeedi <asaeedi@confluent.io>, Bill Bejeck <bill@confluent.io>
2024-09-25 20:06:16 -07: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
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
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
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
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
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
Matthias J. Sax 6610a4d46f
KAFKA-17527: Fix NPE for null RecordContext (#17169)
Reviewers: Bruno Cadonna <bruno@confluent.io>
2024-09-13 16:34:15 -07:00
Bruno Cadonna 0035ac06d3
KAFKA-17489: Do not handle failed tasks as tasks to assign (#17115)
Failed tasks discovered when removed from the state updater during assignment or revocation are added to the task registry. From there they are retrieved and handled as normal tasks. This leads to a couple of IllegalStateExceptions because it breaks some invariants that ensure that only good tasks are assigned and processed.

This commit solves this bug by distinguish failed from non-failed tasks in the task registry.

Reviewer: Lucas Brutschy <lbrutschy@confluent.io>
2024-09-13 10:41:45 +02:00
Matthias J. Sax b436499557
KAFKA-17524: Add timeout to StreamThreadTest (#17180)
Adds a 30s default timeout to StreamThreadTest tests.

Reviewers: David Arthur <mumrah@gmail.com>
2024-09-12 15:17:25 -04:00
Ken Huang 4121a8952a
KAFKA-17427: Deprecate leaking *_DOC variables in StreamsConfig (#17171)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-12 10:26:00 -07:00
TengYao Chi 9b53b525e8
KAFKA-17253: Deprecate Leaking Getter Methods in Joined Helper Class (#17164)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-12 10:13:22 -07:00
JohnHuang c62c3899aa
KAFKA-12829: Remove deprecated StreamsBuilder#addGlobalStore of old Processor API (#17059)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Matthias J. Sax <matthias@confluent.io>
2024-09-11 14:22:08 -07:00
João Pedro Fonseca Dantas 30a988a768
KAFKA-8666: Improve Documentation on usage of Materialized config object (#17145)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-11 14:15:34 -07:00
Kuan-Po Tseng e0ee73e98b
KAFKA-16332 Remove Deprecated builder methods for Time/Session/Join/SlidingWindows (#17126)
Removed deprecated methods:
 - TimeWindows#of
 - TimeWindows#grace
 - SessionWindows#with
 - SessionWindows#grace
 - SlidingWindows#withTimeDifferencAndGrace

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-11 14:12:56 -07:00
Alieh Saeedi d04f534892
KAFKA-17109: implement exponential backoff for state directory lock (#17116)
This PR implements exponential backoff for state directory lock to increase the time between two consecutive attempts of acquiring the lock.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-09-11 13:26:19 +02:00
Ken Huang 51d296c86f
MINOR: Improve JavaDocs for deprecates ForeachProcessor (#17156)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Matthias J. Sax <matthias@confluent.io>
2024-09-10 18:47:55 -07:00
Matthias J. Sax 6fd973b4a5
KAFKA-16331: Remove EOSv1 from Kafka Streams system tests (#17108)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Bill Bejeck <bill@confluent.io>
2024-09-10 17:55:03 -07:00
Kuan-Po Tseng 05955bc1fc
KAFKA-17224 Make ForeachProcessor internal (#17129)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-10 22:54:42 +08:00
xijiu 64b909b598
KAFKA-13588 We should consolidate `changelogFor` methods to simplify the generation of internal topic names (#17125)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-09 01:48:24 +08:00
Murali Basani 72e16cb9e1
KAFKA-16863 : Deprecate default exception handlers (#17005)
Implements KIP-1056:
 - deprecates default.deserialization.exception.handler in favor of deserialization.exception.handler
 - deprecates default.production.exception.handler in favor of production.exception.handler

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-07 20:14:46 -07:00
Ayoub Omari be3ab8bdd5
KAFKA-14460: Skip removed entries from in-memory KeyValueIterator (#16505)
As described in KAFKA-14460, one of the functional requirements of KeyValueStore is that "The returned iterator must not return null values" on methods which return iterator.

This is not completely the case today for InMemoryKeyValueStore. To iterate over the store, we copy the keySet in order not to block access for other threads. However, entries that are removed from the store after initializing the iterator will be returned with null values by the iterator.

Reviewers: Anna Sophie Blee-Goldman <ableegoldman@apache.org>
2024-09-07 17:06:55 -07:00
Bill Bejeck 981133d350
KAFKA-17486: Flaky test RestoreIntegrationTest.shouldInvokeUserDefinedGlobalStateRestoreListener (#17104)
This test has a tricky race condition. We want the restoration to go slow enough so that when a second Kafka Streams instance starts, the restoration of a given TopicPartition pauses due to task re-assignment. But after that point, we'd like the test to proceed faster to avoid any timeout assertions. To that end, here are the changes in this PR:

Increase the restore pause to 2 seconds; this should slow the restoration enough so that the process is still in progress once the second instance starts. But once tasks are re-assigned and onRestorePause is called, the restore pause is decremented to zero, allowing the test to proceed faster.
Increase the restore batch to its original value of 5 - otherwise, the test moved too slowly.
Decrease the number of test records produced to the original value of 100. By increasing the time of restoring each batch until Kafka Streams calls onRestorePause and removing the intentional restoration slowness, 100 records proved good enough in local testing.

Reviewers: Matthias J. Sax <mjsax@apache.org>, Chia-Ping Tsai <chia7712@gmail.com>,
   Yu-LinChen <kh87313@gmail.com>
2024-09-07 18:47:02 -04:00
Sebastien Viale b4f47aeff5
KAFKA-16448: Add timestamp to error handler context (#17054)
Part of KIP-1033.

Co-authored-by: Dabz <d.gasparina@gmail.com>
Co-authored-by: loicgreffier <loic.greffier@michelin.com>

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-09-05 08:42:52 -07:00
Bill Bejeck 661825ad28
KAFKA-16993: Flaky test shouldInvokeUserDefinedGlobalStateRestoreListener (#16970)
Increased the number of records while decreasing the restore batch size to ensure the restoration does not complete before the second Kafka Streams instance starts up.

Reviewers: Matthias J. Sax <mjsax@apache.org>
2024-09-04 08:50:27 -04:00
Matthias J. Sax 32f03a06be
KAFKA-17474 fix state transition in GlobalStreamThread (#17078)
KAFKA-17100 changed the behavior of GlobalStreamThread introducing a race condition for state changes, that was exposed by failing (flaky) tests in GlobalStreamThreadTest.

This PR moves the state transition to fix the race condition.

Reviewers: Bill Bejeck <bbejeck@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-09-04 14:48:51 +08:00
Omnia Ibrahim f59d829381
KAFKA-15853 Move TransactionLogConfig and TransactionStateManagerConfig getters out of KafkaConfig (#16665)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-03 18:24:12 +08:00
Matthias J. Sax b527691e0a MINOR: add missing @Override annotations 2024-09-01 11:37:59 -07:00
Matthias J. Sax 1f5aea2a86
MINOR: remove get prefix for internal DSL methods (#17050)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-01 17:14:51 +08:00
Matthias J. Sax 4189a36b41
MINOR: fix JavaDocs of Kafka Streams context classes (#17049)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-01 12:46:39 +08:00
Arnav Dadarya 4b5df1f8e9
KAFKA-12826: Remove Deprecated Class Serdes (#17023)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-31 19:42:46 -07:00
Chia Chuan Yu d44627da99
MINOR: remove get prefix for internal KeyValueStoreWrapper (#17065)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-09-01 10:35:08 +08:00
Matthias J. Sax fc720d33a0
MINOR: remove get prefix for internal state methods (#17053)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-31 20:02:06 +08:00
abhi-ksolves c23b6b0365
KAFKA-16327: Removed Deprecated variable StreamsConfig#TOPOLOGY_OPTIMIZATION (#16744)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-29 18:01:39 -07:00
JohnHuang b154f58ce8
KAFKA-12829: Remove deprecated Topology#addGlobalStore of old Processor API (#16791)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-29 16:52:52 -07:00
Nancy 865cdfc1cd
KAFKA- 12834 : Removed Deprecated method under MockProcessorContext (#16778)
Reviewers: Josep Prat <josep.prat@aiven.io>, Matthias J. Sax <matthias@confluent.io>
2024-08-29 16:38:52 -07:00
xijiu 291523e3e4
KAFKA-12829: Remove the deprecated method `init(ProcessorContext, StateStore)` from the `StateStore` interface (#16906)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Matthias J. Sax <matthias@confluent.io>
2024-08-28 17:49:16 -07:00
Matthias J. Sax f61719f962
MINOR: remove get prefix for internal PAPI methods (#17025)
Reviewers: Bill Bejeck <bill@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-08-28 09:41:32 -07:00
Nick Telford f9615ed275
KAFKA-17432: Fix threads alive after shutdown (#17018)
We currently use a `CountDownLatch` to signal when a thread has
completed shutdown to the blocking `shutdown` method. However, this
latch triggers _before_ the thread has fully exited.

Dependent on the OS thread scheduling, it's possible that this thread
will still be "alive" after the latch has unblocked the `shutdown`
method.

In practice, this is mostly a problem for `StreamThreadTest`, which now
checks that there are no `TaskExecutor` or `StateUpdater` threads
immediately after shutting them down.

Sometimes, after shutdown returns, we find that these threads are still
"alive", usually completing execution of the "thread shutdown" log
message, or even the `Thread#exit` JVM method that's invoked to clean up
threads just before they exit. This causes sporadic test failures, even
though these threads did indeed shutdown correctly.

Instead of using a `CountDownLatch`, let's just await the thread to exit
directly, using `Thread#join`. Just as before, we set a timeout, and if
the Thread is still alive after the timeout, we throw a
`StreamsException`, maintaining the contract of the `shutdown` method.

There should be no measurable impact on production code here. This will
mostly just improve the reliability of tests that require these threads
have fully exited after calling `shutdown`.

Reviewers: Matthias J. Sax <matthias@confluent.io>, Lucas Brutschy <lbrutschy@confluent.io>, Bruno Cadonna <cadonna@apache.org>
2024-08-28 16:05:10 +02:00
Matthias J. Sax f69b465414
MINOR: Keep Kafka Streams configs ordered in code and docs (#16816)
Reviewers: Bill Bejeck <bill@confluent.io>
2024-08-27 18:03:24 -07:00
Murali Basani bf914b6982
KAFKA-16330: Remove deprecated methods of TaskId and make deprecated members private (#16985)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Matthias J. Sax <matthias@confluent.io>
2024-08-26 14:05:43 -07:00
Caio Guedes e8b27b6a33
KAFKA-16335: Remove deprecated method of StreamPartitioner (#15482)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-26 13:16:43 -07:00
xijiu a39037e55c
KAFKA-17399 Apply LambdaValidator to code base (#16980)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-26 21:53:49 +08:00
TengYao Chi 4886414aa0
KAFKA-17324: Set config group.protocol to classic in Streams (#16878)
Streams is not compatible with the new consumer rebalance protocol proposed in KIP-848. Thus, Streams should set/override config group.protocol to classic at startup to ensure that the classic protocol is used.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-08-26 14:01:56 +02:00
Matthias J. Sax 4ae0ab38dd
MINOR: remove get prefix for internal IQ methods (#16954)
Reviewers: Bill Bejeck <bill@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-08-26 07:02:49 +08:00
Ramin Gharib 9eb7e1a23d
KAFKA-17100: GlobalStreamThread#start should not busy-wait (#16914)
This PR replaces a busy-wait sleep with a CountDownLatch.

Reviewers: Greg Harris <greg.harris@aiven.io>, Matthias J. Sax <matthias@confluent.io>
2024-08-25 14:53:16 -07:00
TengYao Chi 3d436f52bf
KAFKA-12824 Delete unused doBranch method (#16981)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-25 14:24:54 +08:00
Ao Li a85f0a89c8
KAFKA-17112: Manually stop task manager if stream thread is not in CREATED state (#16625)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-22 20:37:25 -07:00
Murali Basani 8ceb05d203
KAFKA-16329: Remove deprecated IQ metadata classes in Kafka Streams (#16762)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-22 20:18:30 -07:00
Ayoub Omari 38eed50e9a
MINOR: Kafka Streams JavaDoc fixes (#15694)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-22 19:15:17 -07:00
TengYao Chi 46597638ee
KAFKA-17371: Fix DefaultTaskExecutorTest.shouldUnassignTaskWhenRequired (#16941)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-22 18:44:58 -07:00
Murali Basani a2f89f5412
KAFKA-16333: remove deprecated join method with named param (#16764)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-22 13:20:56 -07:00
Matthias J. Sax 0300025097
MINOR: fix HTML for topology.optimization config (#16953)
The HTML rendering broke via https://issues.apache.org/jira/browse/KAFKA-14209 in 3.4 release. The currently shown value is some garbage org.apache.kafka.streams.StreamsConfig$$Lambda$20/0x0000000800c0cf18@b1bc7ed

cf https://kafka.apache.org/documentation/#streamsconfigs_topology.optimization

Verified the fix via running StreamsConfig#main() locally.

Reviewers: Bill Bejeck <bill@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2024-08-22 15:24:16 +08:00
Matthias J. Sax 1e14b0c964
MINOR: Cleanup Joined class (#14551)
Code cleanup and JavaDocs fixed, plus add missing getters to JoinedInternal.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-08-21 14:31:22 -07:00
Matthias J. Sax e4cc5d18f4
MINOR: remove get prefix for internal Kafka Streams methods (#16722)
Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-08-21 14:27:14 -07:00
Matthias J. Sax 9d81a67009
MINOR: update flaky KafkaStreamsTest (#16756)
testStateGlobalThreadClose() does fail sometimes, with unclear root
cause. This PR is an attempt to fix it, by cleaning up and improving the
test code across the board.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
2024-08-21 14:23:27 -07:00
TengYao Chi c3d552d273
KAFKA-12824 Remove Deprecated method KStream#branch (#16803)
The method branch in both Java and Scala KStream class was deprecated in version 2.8:

1) org.apache.kafka.streams.scala.kstream.KStream#branch
2) org.apache.kafka.streams.kstream.KStream#branch(org.apache.kafka.streams.kstream.Predicate<? super K,? super V>...)
3) org.apache.kafka.streams.kstream.KStream#branch(org.apache.kafka.streams.kstream.Named, org.apache.kafka.streams.kstream.Predicate<? super K,? super V>...)

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-20 09:05:13 +08:00
Andrew Schofield 7031855570
KAFKA-17318 ConsumerRecord.deliveryCount and remove deprecations (#16872)
Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2024-08-16 00:11:08 +08:00
PoAn Yang 97cdaaa15f
KAFKA-17312 Fix tests shouldForwardAllDbOptionsCalls and shouldOverwriteAllOptionsMethods in RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapterTest (#16857)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-12 07:02:35 +08:00
TengYao Chi 6f18f6f335
KAFKA-16328 Remove Deprecated config from StreamsConfig (#16805)
- StreamsConfig#RETRIES_CONFIG was deprecated in AK 2.7 and is no longer in use.
- StreamsConfig#DEFAULT_WINDOWED_KEY_SERDE_INNER_CLASS and
- StreamsConfig#DEFAULT_WINDOWED_VALUE_SERDE_INNER_CLASS were deprecated in AK 3.0.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-08-10 00:16:52 +08:00
PoAn Yang 242114eab9
KAFKA-12830: Remove Deprecated constructor in TimeWindowedDeserializer and TimeWindowedSerde (#16809)
Signed-off-by: PoAn Yang <payang@apache.org>

Reviewers: Josep Prat <josep.prat@aiven.io>
2024-08-09 11:57:44 +02:00
Ken Huang 1ff7cf3d36
KAFKA-12832 remove deprecated methods in RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter (#16813)
Reviewers: Josep Prat <josep.prat@aiven.io>
2024-08-09 11:49:28 +02:00
abhi-ksolves 6b5d172dcf
KAFKA-12828: Removed Deprecated methods under KeyQueryMetadata (#16747)
Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-06 18:21:23 -07:00
Bill Bejeck 4c9795eddf
MINOR: Flaky RestoreIntegrationTest (#16721)
Increase some timeouts to work against race condition.

Reviewers: Matthias J. Sax <matthias@confluent.io>
2024-08-06 10:05:10 -07:00