KAFKA-10564: only process non-empty task directories when internally cleaning obsolete state stores#9373
Conversation
…lly cleaning obsolete state stores
ableegoldman
left a comment
There was a problem hiding this comment.
Thanks for the quick patch! I love a good one-liner 😄
Can you include a test in StateDirectoryTest as well? I think it would be sufficient to start out with a single non-empty task directory and then verify that the first time cleanRemovedTasksCalledByCleanerThread() is called it will log this message + clear out everything except the lock file, but if it's invoked a second time, nothing is logged.
|
By the way, John was so kind as to cherrypick the trunk PR that rearranged things in this method back to the 2.6 branch -- so we should be able to cherrypick this PR smoothly, no need for a separate one for 2.6 Looks like just a handful of unrelated flaky test failures in the builds, hopefully we'll have better luck on the next run |
|
Thanks for the review @ableegoldman! Added a unit test. And thanks @vvcephei for making it easier to cherry pick this fix back to 2.6. |
ableegoldman
left a comment
There was a problem hiding this comment.
LGTM!
Only known flaky tests in the build failure:
Build / JDK 11 / org.apache.kafka.streams.integration.EosBetaUpgradeIntegrationTest.shouldUpgradeFromEosAlphaToEosBeta[true]
Build / JDK 11 / org.apache.kafka.streams.integration.EosIntegrationTest.shouldNotViolateEosIfOneTaskFailsWithState[exactly_once_beta]
Build / JDK 15 / org.apache.kafka.streams.integration.EosBetaUpgradeIntegrationTest.shouldUpgradeFromEosAlphaToEosBeta[true]
|
FYI this should be cherrypicked back to 2.6 once merged |
|
Cherry-picked to 2.6. |
…cleaning obsolete state stores (#9373) Avoid continuous repeated logging by not trying to clean empty task directories, which are longer fully deleted during internal cleanup as of https://issues.apache.org/jira/browse/KAFKA-6647. Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
|
Thank you all! |
…cleaning obsolete state stores (apache#9373) Avoid continuous repeated logging by not trying to clean empty task directories, which are longer fully deleted during internal cleanup as of https://issues.apache.org/jira/browse/KAFKA-6647. Reviewers: A. Sophie Blee-Goldman <sophie@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
* commit '2804257fe221f37e5098bd': (67 commits) KAFKA-10562: Properly invoke new StateStoreContext init (apache#9388) MINOR: trivial cleanups, javadoc errors, omitted StateStore tests, etc. (apache#8130) KAFKA-10564: only process non-empty task directories when internally cleaning obsolete state stores (apache#9373) KAFKA-9274: fix incorrect default value for `task.timeout.ms` config (apache#9385) KAFKA-10362: When resuming Streams active task with EOS, the checkpoint file is deleted (apache#9247) KAFKA-10028: Implement write path for feature versioning system (KIP-584) (apache#9001) KAFKA-10402: Upgrade system tests to python3 (apache#9196) KAFKA-10186; Abort transaction with pending data with TransactionAbortedException (apache#9280) MINOR: Remove `TargetVoters` from `DescribeQuorum` (apache#9376) Revert "KAFKA-10469: Resolve logger levels hierarchically (apache#9266)" MINOR: Don't publish javadocs for raft module (apache#9336) KAFKA-9929: fix: add missing default implementations (apache#9321) KAFKA-10188: Prevent SinkTask::preCommit from being called after SinkTask::stop (apache#8910) KAFKA-10338; Support PEM format for SSL key and trust stores (KIP-651) (apache#9345) KAFKA-10527; Voters should not reinitialize as leader in same epoch (apache#9348) MINOR: Refactor unit tests around RocksDBConfigSetter (apache#9358) KAFKA-6733: Printing additional ConsumerRecord fields in DefaultMessageFormatter (apache#9099) MINOR: Annotate test BlockingConnectorTest as integration test (apache#9379) MINOR: Fix failing test due to KAFKA-10556 PR (apache#9372) KAFKA-10439: Connect's Values to parse BigInteger as Decimal with zero scale. (apache#9320) ...
Avoid continuous repeated logging by not trying to clean empty task directories, which are longer fully deleted during internal cleanup as of https://issues.apache.org/jira/browse/KAFKA-6647.
Committer Checklist (excluded from commit message)