Skip to content

[FLINK-32681] Wait for RocksDBStateDownloader threads on failure to ensure proper cleanup. - #23115

Merged
StefanRRichter merged 1 commit into
apache:masterfrom
StefanRRichter:srichter-FLINK-32681-fix-rocks-dl-cleanup
Aug 1, 2023
Merged

[FLINK-32681] Wait for RocksDBStateDownloader threads on failure to ensure proper cleanup.#23115
StefanRRichter merged 1 commit into
apache:masterfrom
StefanRRichter:srichter-FLINK-32681-fix-rocks-dl-cleanup

Conversation

@StefanRRichter

Copy link
Copy Markdown
Contributor

What is the purpose of the change

Fixes a test failure in RocksDBStateDownloaderTest by ensuring that on failure we first wait for all parallel download threads to complete and close their streams before cleaning up the download directories.

Downloader threads now also close and check against the ClosableRegistry more eagerly to fail fast.

Brief change log

  • Wait for all parallel download threads to terminate before cleanup.
  • Eagerly close the CloseableRegistry that is shared across all download threads to fail faster.
  • Early exit in download threads if registry is already close to terminate faster.

Verifying this change

Please make sure both new and modified tests in this PR follows the conventions defined in our code quality guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing

This change is already covered by existing tests, such as (please describe tests).

  • RocksDBStateDownloaderTest

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
  • The serializers: (no)
  • The runtime per-record code paths (performance sensitive): (no)
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes)
  • The S3 file system connector: (no)

Documentation

  • Does this pull request introduce a new feature? (no)
  • If yes, how is the feature documented? (not applicable)

@flinkbot

flinkbot commented Aug 1, 2023

Copy link
Copy Markdown
Collaborator

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@rkhachatryan rkhachatryan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants