[ 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)