Skip to content

Commit 8ab0383

Browse files
bcullykderusso
authored andcommitted
Add deleteByQuery to InternalEngine (elastic#129679)
1 parent 2f3d4d5 commit 8ab0383

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
import org.elasticsearch.index.seqno.SequenceNumbers;
9595
import org.elasticsearch.index.shard.ShardId;
9696
import org.elasticsearch.index.shard.ShardLongFieldRange;
97+
import org.elasticsearch.index.shard.ShardSplittingQuery;
9798
import org.elasticsearch.index.store.Store;
9899
import org.elasticsearch.index.translog.Translog;
99100
import org.elasticsearch.index.translog.TranslogConfig;
@@ -3610,4 +3611,9 @@ protected long estimateMergeBytes(MergePolicy.OneMerge merge) {
36103611
return 0L;
36113612
}
36123613
}
3614+
3615+
// Used to clean up unowned documents. Client-visible deletes should always be soft deletes.
3616+
protected void deleteByQuery(ShardSplittingQuery query) throws Exception {
3617+
indexWriter.deleteDocuments(query);
3618+
}
36133619
}

server/src/main/java/org/elasticsearch/index/shard/ShardSplittingQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@
5252
* It can be used to split a shard into N shards marking every document that doesn't belong into the shard
5353
* as deleted. See {@link org.apache.lucene.index.IndexWriter#deleteDocuments(Query...)}
5454
*/
55-
final class ShardSplittingQuery extends Query {
55+
public final class ShardSplittingQuery extends Query {
5656
private final IndexMetadata indexMetadata;
5757
private final IndexRouting indexRouting;
5858
private final int shardId;
5959
private final BitSetProducer nestedParentBitSetProducer;
6060

61-
ShardSplittingQuery(IndexMetadata indexMetadata, int shardId, boolean hasNested) {
61+
public ShardSplittingQuery(IndexMetadata indexMetadata, int shardId, boolean hasNested) {
6262
this.indexMetadata = indexMetadata;
6363
this.indexRouting = IndexRouting.fromIndexMetadata(indexMetadata);
6464
this.shardId = shardId;

0 commit comments

Comments
 (0)