Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip unreferenced files pruning after restore for searchable snapshots shards #68845

Merged
merged 1 commit into from
Feb 11, 2021

Conversation

tlrx
Copy link
Member

@tlrx tlrx commented Feb 10, 2021

When a shard is restored from a snapshot there is an after
restore step during which files on disk that are not referenced
anymore by the restored segments infos file are deleted from
disk. The deletion is executed using the
Lucene.pruneUnreferencedFiles() method which opens a new
IndexWriter and closes it in order to kick off Lucene's internal
index files deleter.

This step is not necessary for searchable snapshot shards
which use the snapshot store type because such shards
report a list of files coming from a shard snapshot which
never contain unreferenced files. Skipping this step avoids
extra unnecessary work when mounting a searchable
snapshot index.

Backport of #68821

…s shards (elastic#68821)

When a shard is restored from a snapshot there is an after 
restore step during which files on disk that are not referenced 
anymore by the restored segments infos file are deleted from 
disk. The deletion is executed using the 
Lucene.pruneUnreferencedFiles() method which opens a new 
IndexWriter and closes it in order to kick off Lucene's internal 
index files deleter.

This step is not necessary for searchable snapshot shards 
which use the snapshot store type because such shards 
report a list of files coming from a shard snapshot which 
never contain unreferenced files. Skipping this step avoids 
extra unnecessary work when mounting a searchable 
snapshot index.
@tlrx tlrx added >non-issue :Distributed Coordination/Snapshot/Restore Anything directly related to the `_snapshot/*` APIs backport v7.11.1 labels Feb 10, 2021
@elasticmachine elasticmachine added the Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. label Feb 10, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed (Team:Distributed)

@tlrx tlrx merged commit ee0d2e2 into elastic:7.11 Feb 11, 2021
@tlrx tlrx deleted the skip-prune-unreferenced-files-7.11 branch February 11, 2021 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport :Distributed Coordination/Snapshot/Restore Anything directly related to the `_snapshot/*` APIs >non-issue Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. v7.11.1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants