I regularly take a snapshot of my ES cluster in a s3 bucket and so i wanted to know that if i am deleting my old docs from the cluster and regularly adding new docs then after taking a snapshot how does ES deal with this scenario wheather the docs get deleted from my previous snapshots as well or how does ES keep a backup of my docs. Please explain?
How does Elasticsearch incremental snapshots deal with the deleted docs?
956 Views Asked by Yash Tandon At
1
There are 1 best solutions below
Related Questions in ELASTICSEARCH
- Elasticsearch schema for multiple versions of the same text
- Elasticsearch nested filter query
- Elasticsearch data model
- search with filter by token count
- Usage of - operator in elasticsearch
- Running multiprocessing on two different functions in Python 2.7
- How to get an Elasticsearch aggregation with multiple fields
- How to implement custom sort in elasticsearch?
- Custom Analyzer not working Elasticsearch
- How to implement full text search using Elasticsearch in Rails?
- UnresolvedAddressException in Logstash+elasticsearch
- Elasticsearch Fiddler No DNS
- Monolithic ETL to distributed/scalable solution and OLAP cube to Elasticsearch/Solr
- how to disable page query in Spring-data-elasticsearch
- Create Custom Analyzer after index has been created
Related Questions in ELASTICSEARCH-SNAPSHOT
- AWS ElasticsearchService: Automated snapshot is running for more than 20days
- Elasticsearch Restore from S3 Snapshot
- How does Elasticsearch incremental snapshots deal with the deleted docs?
- Elasticsearch Restoring large snapshot incomplete due to size
- Elasticsearch - repository_exception
- "Read-only file system" error while creating snapshot in elasticsearch with multiple-nodes
- How to delete ElasticSearch snapshots by prefix
- ElasticSearch Snapshot: reasons for partial status
- How to take snapshots of specific indices in Elastic Cloud Enterprise?
- elasticsearch on docker - snapshot and restore - access_denied_exception
- Unable to register snapshot repository for AWS elasticsearch in fs
- How to manually invoke snapshot endpoint for ElasticSearch using JestClient
- Unable to restore elasticsearch snapshots from S3 using the repository-s3 plugin after nodes data directory got deleted from all nodes
- How to read Elasticsearch snapshot files in python?
- Elasticsearch snapshot for a cluster
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
When ES takes snapshots, ES doesn't take snapshots of
docsbut rather it takes snapshots ofsegments. Of course, the segments contain the docs.To understand the concept of incremental, let's take the below example.
Say there's an index called
my_indexwith1 primary shard (shard 0). As data gets written to the index, it will create segment file(s) for the shards.Initially, the index my_index may look like:
You take Snapshot S1 of index my_index at time T1.
The snapshot S1 contains the following metadata:
Now, you index more data. ES merges segements B and C into a new segment D and adds new segment E for new data. Once segments are merged, the old segments are deleted from the shard. Same way, when documents are deleted, segment merging happens
Now the shard 0 of index my_index contains segments A,D,E
You take Snapshot S2 of index my_index at time T2. S2 will check to see what files it will need.
The snapshot S2 contains the following metadata:
What is incremental here? The incremental nature is for new segment files not necessarily for new data. For Snapshot S2, segment A was NOT copied because it was already contained in S1.
When happens when you delete Snapshot S1?
1. Segments B and C will be deleted since they are no longer being referenced
2. Exclude Segment A since it's being referenced by Snapshot S2
When happens when you delete index my_index?
The snapshots will still contain segement files pertaining to my_index allowing you to recover the index anytime.
What happens when documents are deleted? When docs are deleted, eventually the segment files are merged, new segments are created. So when you take a snapshot after document has been deleted, the snapshot will not have the document.
Hope this helps