Skip to content

[Backport] Zero-copy local deep storage. (#13394)#13562

Merged
kfaraz merged 1 commit intoapache:25.0.0from
vogievetsky:25_zero_copy
Dec 14, 2022
Merged

[Backport] Zero-copy local deep storage. (#13394)#13562
kfaraz merged 1 commit intoapache:25.0.0from
vogievetsky:25_zero_copy

Conversation

@vogievetsky
Copy link
Copy Markdown
Contributor

Backport of #13394 to fix the copy delay

* Zero-copy local deep storage.

This is useful for local deep storage, since it reduces disk usage and
makes Historicals able to load segments instantaneously.

Two changes:

1) Introduce "druid.storage.zip" parameter for local storage, which defaults
   to false. This changes default behavior from writing an index.zip to writing
   a regular directory. This is safe to do even during a rolling update, because
   the older code actually already handled unzipped directories being present
   on local deep storage.

2) In LocalDataSegmentPuller and LocalDataSegmentPusher, use hard links
   instead of copies when possible. (Generally this is possible when the
   source and destination directory are on the same filesystem.)
@cryptoe cryptoe added this to the 25.0 milestone Dec 14, 2022
@kfaraz kfaraz merged commit d52117d into apache:25.0.0 Dec 14, 2022
@vogievetsky vogievetsky deleted the 25_zero_copy branch December 14, 2022 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants