[
https://issues.apache.org/jira/browse/KAFKA-17432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicholas Telford updated KAFKA-17432:
-------------------------------------
Description:
{{DefaultStateUpdater}} and {{DefaultTaskExecutor}} each provide a {{shutdown}}
method, that shuts down the respective thread.
This method returns before the thread has completely shutdown. This can cause
some issues in tests, most notably {{{}StreamThreadTest{}}}, which now checks
that there are no running {{StateUpdater}} or {{TaskExecutor}} threads in the
test {{{}tearDown{}}}, immediately after shutting the threads down.
This occurs because we use a {{CountDownLatch}} to {{await}} the shutdown of
these threads, however, this is triggered _before_ the thread has fully exited.
Consequently, {{StreamThreadTest}} sometimes observes one of these threads
after they have been shutdown (usually in the middle of printing the "Thread
shutdown" log message, or even executing the {{Thread#exit}} JVM method) and
fails the test.
was:
{{DefaultStateUpdater}} and {{DefaultTaskExecutor each provide a shutdown}}
method, that shuts down the respective thread.
This method returns before the thread has completely shutdown. This can cause
some issues in tests, most notably {{{}StreamThreadTest{}}}, which now checks
that there are no running {{StateUpdater}} or {{TaskExecutor}} threads in the
test {{{}tearDown{}}}, immediately after shutting the threads down.
This occurs because we use a {{CountDownLatch}} to {{await}} the shutdown of
these threads, however, this is triggered _before_ the thread has fully exited.
Consequently, {{StreamThreadTest}} sometimes observes one of these threads
after they have been shutdown (usually in the middle of printing the "Thread
shutdown" log message, or even executing the {{Thread#exit}} JVM method) and
fails the test.
> DefaultStateUpdater/DefaultTaskExecutor shutdown returns before threads have
> fully exited
> -----------------------------------------------------------------------------------------
>
> Key: KAFKA-17432
> URL: https://issues.apache.org/jira/browse/KAFKA-17432
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 4.0.0
> Reporter: Nicholas Telford
> Assignee: Nicholas Telford
> Priority: Minor
>
> {{DefaultStateUpdater}} and {{DefaultTaskExecutor}} each provide a
> {{shutdown}} method, that shuts down the respective thread.
> This method returns before the thread has completely shutdown. This can cause
> some issues in tests, most notably {{{}StreamThreadTest{}}}, which now checks
> that there are no running {{StateUpdater}} or {{TaskExecutor}} threads in the
> test {{{}tearDown{}}}, immediately after shutting the threads down.
> This occurs because we use a {{CountDownLatch}} to {{await}} the shutdown of
> these threads, however, this is triggered _before_ the thread has fully
> exited. Consequently, {{StreamThreadTest}} sometimes observes one of these
> threads after they have been shutdown (usually in the middle of printing the
> "Thread shutdown" log message, or even executing the {{Thread#exit}} JVM
> method) and fails the test.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)