From eccfa093137c2c74e52ab643589d9f43dfa99a77 Mon Sep 17 00:00:00 2001 From: Jim Ferenczi Date: Thu, 10 Oct 2024 11:59:31 +0100 Subject: [PATCH] add benchmark for lucene changes snapshot --- .../index/LuceneChangesSnapshotBenchmark.java | 198 +++++++ .../index/lucene-changes-mappings.json | 482 ++++++++++++++++++ .../index/lucene-changes-sample-docs.json.gz | Bin 0 -> 323180 bytes .../engine/LuceneBatchChangesSnapshot.java | 361 +++++++++++++ .../index/engine/LuceneChangesSnapshot.java | 6 +- .../engine/LuceneChangesSnapshotNew.java | 382 ++++++++++++++ 6 files changed, 1426 insertions(+), 3 deletions(-) create mode 100644 benchmarks/src/main/java/org/elasticsearch/benchmark/index/LuceneChangesSnapshotBenchmark.java create mode 100644 benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-mappings.json create mode 100644 benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-sample-docs.json.gz create mode 100644 server/src/main/java/org/elasticsearch/index/engine/LuceneBatchChangesSnapshot.java create mode 100644 server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshotNew.java diff --git a/benchmarks/src/main/java/org/elasticsearch/benchmark/index/LuceneChangesSnapshotBenchmark.java b/benchmarks/src/main/java/org/elasticsearch/benchmark/index/LuceneChangesSnapshotBenchmark.java new file mode 100644 index 0000000000000..211e9f223f2a8 --- /dev/null +++ b/benchmarks/src/main/java/org/elasticsearch/benchmark/index/LuceneChangesSnapshotBenchmark.java @@ -0,0 +1,198 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.benchmark.index; + +import org.apache.lucene.index.DirectoryReader; +import org.apache.lucene.index.IndexReader; +import org.apache.lucene.index.IndexWriter; +import org.apache.lucene.index.IndexWriterConfig; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.QueryCachingPolicy; +import org.apache.lucene.search.Sort; +import org.apache.lucene.search.SortField; +import org.apache.lucene.search.similarities.BM25Similarity; +import org.apache.lucene.store.FSDirectory; +import org.elasticsearch.benchmark.index.mapper.MapperServiceFactory; +import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.io.Streams; +import org.elasticsearch.common.logging.LogConfigurator; +import org.elasticsearch.common.util.BigArrays; +import org.elasticsearch.core.IOUtils; +import org.elasticsearch.index.IndexVersion; +import org.elasticsearch.index.codec.PerFieldMapperCodec; +import org.elasticsearch.index.codec.zstd.Zstd814StoredFieldsFormat; +import org.elasticsearch.index.engine.Engine; +import org.elasticsearch.index.engine.LuceneChangesSnapshot; +import org.elasticsearch.index.engine.LuceneChangesSnapshotNew; +import org.elasticsearch.index.mapper.MapperService; +import org.elasticsearch.index.mapper.ParsedDocument; +import org.elasticsearch.index.mapper.SourceToParse; +import org.elasticsearch.index.translog.Translog; +import org.elasticsearch.xcontent.XContentBuilder; +import org.elasticsearch.xcontent.XContentParser; +import org.elasticsearch.xcontent.XContentParserConfiguration; +import org.elasticsearch.xcontent.XContentType; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OperationsPerInvocation; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.concurrent.TimeUnit; +import java.util.zip.GZIPInputStream; + +@Fork(value = 1) +@Warmup(iterations = 3, time = 3) +@Measurement(iterations = 5, time = 3) +@BenchmarkMode(Mode.Throughput) +@OutputTimeUnit(TimeUnit.MILLISECONDS) +@State(Scope.Thread) +public class LuceneChangesSnapshotBenchmark { + @Param({ "synthetic", "stored" }) + String sourceMode; + + @Param({ "true", "false" }) + boolean sequential; + + static final int NUM_OPS = 10000; + + Path path; + MapperService mapperService; + FSDirectory dir; + IndexReader reader; + Engine.Searcher searcher; + + static { + LogConfigurator.configureESLogging(); // native access requires logging to be initialized + } + + @Setup + public void setup() throws IOException { + this.path = Files.createTempDirectory("snapshot_changes"); + + this.mapperService = MapperServiceFactory.create(readMappings(sourceMode)); + IndexWriterConfig config = new IndexWriterConfig(); + config.setCodec( + new PerFieldMapperCodec(Zstd814StoredFieldsFormat.Mode.BEST_COMPRESSION, mapperService, BigArrays.NON_RECYCLING_INSTANCE) + ); + if (sequential == false) { + config.setIndexSort(new Sort(new SortField[] { new SortField("_seq_no", SortField.Type.LONG, true) })); + } + try (FSDirectory dir = FSDirectory.open(path); IndexWriter writer = new IndexWriter(dir, config);) { + try ( + var inputStream = readSampleDocs(); + XContentParser parser = XContentType.JSON.xContent().createParser(XContentParserConfiguration.EMPTY, inputStream) + ) { + int id = 0; + // find the hits array + while (parser.nextToken() != XContentParser.Token.START_ARRAY) { + parser.nextToken(); + } + + while (parser.nextToken() != XContentParser.Token.END_ARRAY) { + // skip start object + parser.nextToken(); + // skip _source field name + parser.nextToken(); + XContentBuilder source = XContentBuilder.builder(XContentType.JSON.xContent()); + source.copyCurrentStructure(parser); + var sourceBytes = BytesReference.bytes(source); + SourceToParse sourceToParse = new SourceToParse(Integer.toString(id), sourceBytes, XContentType.JSON); + ParsedDocument doc = mapperService.documentMapper().parse(sourceToParse); + doc.updateSeqID(id, 0); + doc.version().setLongValue(0); + writer.addDocuments(doc.docs()); + id++; + parser.nextToken(); + } + } + } + this.dir = FSDirectory.open(path); + this.reader = DirectoryReader.open(dir); + this.searcher = new Engine.Searcher("snapshot", reader, new BM25Similarity(), null, new QueryCachingPolicy() { + @Override + public void onUse(Query query) {} + + @Override + public boolean shouldCache(Query query) throws IOException { + return false; + } + }, () -> {}); + } + + @TearDown + public void tearDown() { + try { + for (var file : dir.listAll()) { + dir.deleteFile(file); + } + Files.delete(path); + } catch (IOException e) { + throw new RuntimeException(e); + } + IOUtils.closeWhileHandlingException(searcher, reader, dir); + } + + @Benchmark + @OperationsPerInvocation(NUM_OPS) + public long recover() throws IOException { + long totalSize = 0; + Translog.Snapshot snapshot = mapperService.mappingLookup().isSourceSynthetic() + ? new LuceneChangesSnapshotNew( + mapperService.mappingLookup().newSourceLoader(mapperService.getMapperMetrics().sourceFieldMetrics()), + searcher, + 512, + 0, + NUM_OPS - 1, + true, + true, + true, + IndexVersion.current() + ) + : new LuceneChangesSnapshot( + searcher, + LuceneChangesSnapshot.DEFAULT_BATCH_SIZE, + 0, + NUM_OPS - 1, + true, + true, + true, + IndexVersion.current() + ); + try (snapshot) { + Translog.Operation op; + while ((op = snapshot.next()) != null) { + totalSize += op.estimateSize(); + } + } + return totalSize; + } + + private String readMappings(String mode) throws IOException { + return Streams.readFully(LuceneChangesSnapshotBenchmark.class.getResourceAsStream("lucene-changes-mappings.json")) + .utf8ToString() + .replace("$1", mode); + } + + private InputStream readSampleDocs() throws IOException { + return new GZIPInputStream(LuceneChangesSnapshotBenchmark.class.getResourceAsStream("lucene-changes-sample-docs.json.gz")); + } +} diff --git a/benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-mappings.json b/benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-mappings.json new file mode 100644 index 0000000000000..97928dff318eb --- /dev/null +++ b/benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-mappings.json @@ -0,0 +1,482 @@ +{ + "_meta": { + "managed_by": "fleet", + "managed": true, + "package": { + "name": "kafka" + } + }, + "_data_stream_timestamp": { + "enabled": true + }, + "_source": { + "mode": "$1" + }, + "date_detection": false, + "runtime": { + "rally.doc_size": { + "type": "long" + }, + "rally.message_size": { + "type": "long" + } + }, + "properties": { + "@timestamp": { + "type": "date", + "ignore_malformed": false + }, + "agent": { + "properties": { + "ephemeral_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "cloud": { + "properties": { + "account": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "availability_zone": { + "type": "keyword", + "ignore_above": 1024 + }, + "image": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "instance": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "machine": { + "properties": { + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "project": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "provider": { + "type": "keyword", + "ignore_above": 1024 + }, + "region": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "container": { + "dynamic": "true", + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "image": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "labels": { + "type": "object", + "dynamic": "true" + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "data_stream": { + "properties": { + "dataset": { + "type": "keyword" + }, + "namespace": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "error": { + "properties": { + "log": { + "type": "keyword", + "ignore_above": 1024 + }, + "message": { + "type": "text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "type": "keyword", + "ignore_above": 1024 + }, + "created": { + "type": "date", + "format": "strict_date_optional_time" + }, + "dataset": { + "type": "keyword" + }, + "end": { + "type": "date" + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ingested": { + "type": "date", + "format": "strict_date_optional_time" + }, + "kind": { + "type": "keyword", + "ignore_above": 1024 + }, + "module": { + "type": "keyword" + }, + "start": { + "type": "date" + }, + "timezone": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "fileset": { + "properties": { + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + } + } + }, + "host": { + "properties": { + "architecture": { + "type": "keyword", + "ignore_above": 1024 + }, + "containerized": { + "type": "boolean" + }, + "domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "os": { + "properties": { + "build": { + "type": "keyword", + "ignore_above": 1024 + }, + "codename": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "kernel": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024, + "fields": { + "text": { + "type": "text" + } + } + }, + "platform": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "input": { + "properties": { + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "kafka": { + "properties": { + "log": { + "properties": { + "class": { + "type": "keyword", + "ignore_above": 1024 + }, + "component": { + "type": "keyword", + "ignore_above": 1024 + }, + "thread": { + "type": "keyword", + "ignore_above": 1024 + }, + "trace": { + "properties": { + "class": { + "type": "keyword", + "ignore_above": 1024 + }, + "message": { + "type": "text" + } + } + } + } + } + } + }, + "kubernetes": { + "properties": { + "container": { + "properties": { + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + } + } + }, + "labels": { + "properties": { + "app": { + "type": "keyword", + "ignore_above": 1024 + }, + "controller-revision-hash": { + "type": "keyword", + "ignore_above": 1024 + }, + "release": { + "type": "keyword", + "ignore_above": 1024 + }, + "statefulset_kubernetes_io/pod-name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "namespace": { + "type": "keyword", + "ignore_above": 1024 + }, + "node": { + "properties": { + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + } + } + }, + "pod": { + "properties": { + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "statefulset": { + "properties": { + "name": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + } + } + } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + } + } + }, + "flags": { + "type": "keyword", + "ignore_above": 1024 + }, + "level": { + "type": "keyword", + "ignore_above": 1024 + }, + "offset": { + "type": "long" + } + } + }, + "message": { + "type": "text" + }, + "rally": { + "type": "object" + }, + "service": { + "properties": { + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "stream": { + "type": "keyword", + "ignore_above": 1024 + }, + "tags": { + "type": "keyword", + "ignore_above": 1024 + } + } +} \ No newline at end of file diff --git a/benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-sample-docs.json.gz b/benchmarks/src/main/resources/org/elasticsearch/benchmark/index/lucene-changes-sample-docs.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..ca8f3539fcbd7079d29d09fcebdff352ae781c49 GIT binary patch literal 323180 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%0A!5;E&^6ej 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 toSeqNo) { + throw new IllegalArgumentException("Invalid range; from_seqno [" + fromSeqNo + "], to_seqno [" + toSeqNo + "]"); + } + if (searchBatchSize <= 0) { + throw new IllegalArgumentException("Search_batch_size must be positive [" + searchBatchSize + "]"); + } + final AtomicBoolean closed = new AtomicBoolean(); + this.onClose = () -> { + if (closed.compareAndSet(false, true)) { + IOUtils.close(engineSearcher); + } + }; + final long requestingSize = (toSeqNo - fromSeqNo) == Long.MAX_VALUE ? Long.MAX_VALUE : (toSeqNo - fromSeqNo + 1L); + this.searchBatchSize = requestingSize < searchBatchSize ? Math.toIntExact(requestingSize) : searchBatchSize; + this.fromSeqNo = fromSeqNo; + this.toSeqNo = toSeqNo; + this.lastSeenSeqNo = fromSeqNo - 1; + this.requiredFullRange = requiredFullRange; + this.indexSearcher = newIndexSearcher(engineSearcher); + this.indexSearcher.setQueryCache(null); + this.accessStats = accessStats; + this.ops = new Translog.Operation[this.searchBatchSize]; + this.indexVersionCreated = indexVersionCreated; + final TopDocs topDocs = searchOperations(null, accessStats); + this.totalHits = Math.toIntExact(topDocs.totalHits.value); + this.scoreDocs = topDocs.scoreDocs; + if (mappingLookup != null && mappingLookup.isSourceSynthetic()) { + Set storedFields = mappingLookup.getMapping() + .syntheticFieldLoader() + .storedFieldLoaders() + .map(s -> s.getKey()) + .collect(Collectors.toSet()); + this.storedFieldLoader = StoredFieldLoader.create(false, storedFields); + this.sourceLoader = new SourceLoader.Synthetic(mappingLookup.getMapping()::syntheticFieldLoader, SourceFieldMetrics.NOOP); + } else { + this.storedFieldLoader = StoredFieldLoader.create(true, Set.of()); + this.sourceLoader = null; + } + fillOps(scoreDocs, ops); + } + + @Override + public void close() throws IOException { + onClose.close(); + } + + @Override + public int totalOperations() { + if (accessStats == false) { + throw new IllegalStateException("Access stats of a snapshot created with [access_stats] is false"); + } + return totalHits; + } + + @Override + public int skippedOperations() { + return skippedOperations; + } + + @Override + public Translog.Operation next() throws IOException { + Translog.Operation op = null; + for (int idx = nextDocIndex(); idx != -1; idx = nextDocIndex()) { + op = ops[idx]; + if (op != null) { + break; + } + } + if (requiredFullRange) { + rangeCheck(op); + } + if (op != null) { + lastSeenSeqNo = op.seqNo(); + } + return op; + } + + private void rangeCheck(Translog.Operation op) { + if (op == null) { + if (lastSeenSeqNo < toSeqNo) { + throw new MissingHistoryOperationsException( + "Not all operations between from_seqno [" + + fromSeqNo + + "] " + + "and to_seqno [" + + toSeqNo + + "] found; prematurely terminated last_seen_seqno [" + + lastSeenSeqNo + + "]" + ); + } + } else { + final long expectedSeqNo = lastSeenSeqNo + 1; + if (op.seqNo() != expectedSeqNo) { + throw new MissingHistoryOperationsException( + "Not all operations between from_seqno [" + + fromSeqNo + + "] " + + "and to_seqno [" + + toSeqNo + + "] found; expected seqno [" + + expectedSeqNo + + "]; found [" + + op + + "]" + ); + } + } + } + + private int nextDocIndex() throws IOException { + // we have processed all docs in the current search - fetch the next batch + if (docIndex == scoreDocs.length && docIndex > 0) { + final ScoreDoc prev = scoreDocs[scoreDocs.length - 1]; + scoreDocs = searchOperations((FieldDoc) prev, false).scoreDocs; + fillOps(scoreDocs, ops); + docIndex = 0; + } + if (docIndex < scoreDocs.length) { + int idx = docIndex; + docIndex++; + return idx; + } + return -1; + } + + private void fillOps(ScoreDoc[] scoreDocs, Translog.Operation[] ops) throws IOException { + for (int i = 0; i < scoreDocs.length; i++) { + scoreDocs[i].shardIndex = i; + } + // for better loading performance we sort the array by docID and + // then visit all leaves in order. + ArrayUtil.introSort(scoreDocs, Comparator.comparingInt(i -> i.doc)); + int docBase = -1; + int maxDoc = 0; + List leaves = indexSearcher.getIndexReader().leaves(); + int readerIndex = 0; + LeafReaderContext leaf = null; + CombinedDocValues combinedDocValues = null; + LeafStoredFieldLoader leafStoredFieldLoader = null; + SourceLoader.Leaf leafSourceLoader = null; + for (ScoreDoc scoreDoc : scoreDocs) { + if (scoreDoc.doc >= docBase + maxDoc) { + do { + leaf = leaves.get(readerIndex++); + docBase = leaf.docBase; + maxDoc = leaf.reader().maxDoc(); + leafStoredFieldLoader = storedFieldLoader.getLoader(leaf, null); + if (sourceLoader != null) { + leafSourceLoader = sourceLoader.leaf(leaf.reader(), null); + } else { + leafSourceLoader = null; + } + } while (scoreDoc.doc >= docBase + maxDoc); + combinedDocValues = new CombinedDocValues(leaf.reader()); + } + final int segmentDocID = scoreDoc.doc - docBase; + final int index = scoreDoc.shardIndex; + + leafStoredFieldLoader.advanceTo(segmentDocID); + final BytesReference source; + if (sourceLoader != null) { + source = leafSourceLoader.source(leafStoredFieldLoader, segmentDocID).internalSourceRef(); + } else { + source = leafStoredFieldLoader.source(); + } + + final long primaryTerm = combinedDocValues.docPrimaryTerm(segmentDocID); + assert primaryTerm > 0 : "nested child document must be excluded"; + final long seqNo = combinedDocValues.docSeqNo(segmentDocID); + // Only pick the first seen seq# + if (seqNo == lastSeenSeqNo) { + skippedOperations++; + ops[index] = null; + continue; + } + final long version = combinedDocValues.docVersion(segmentDocID); + final Translog.Operation op; + final boolean isTombstone = combinedDocValues.isTombstone(segmentDocID); + if (isTombstone && leafStoredFieldLoader.id() == null) { + op = new Translog.NoOp(seqNo, primaryTerm, source.utf8ToString()); + assert version == 1L : "Noop tombstone should have version 1L; actual version [" + version + "]"; + assert assertDocSoftDeleted(leaf.reader(), segmentDocID) : "Noop but soft_deletes field is not set [" + op + "]"; + } else { + final String id = leafStoredFieldLoader.id(); + if (isTombstone) { + op = new Translog.Delete(id, seqNo, primaryTerm, version); + assert assertDocSoftDeleted(leaf.reader(), segmentDocID) : "Delete op but soft_deletes field is not set [" + op + "]"; + } else { + if (source == null) { + // TODO: Callers should ask for the range that source should be retained. Thus we should always + // check for the existence source once we make peer-recovery to send ops after the local checkpoint. + if (requiredFullRange) { + throw new MissingHistoryOperationsException( + "source not found for seqno=" + seqNo + " from_seqno=" + fromSeqNo + " to_seqno=" + toSeqNo + ); + } else { + skippedOperations++; + ops[index] = null; + continue; + } + } + // TODO: pass the latest timestamp from engine. + final long autoGeneratedIdTimestamp = -1; + op = new Translog.Index( + id, + seqNo, + primaryTerm, + version, + source, + leafStoredFieldLoader.routing(), + autoGeneratedIdTimestamp + ); + } + } + assert fromSeqNo <= op.seqNo() && op.seqNo() <= toSeqNo && lastSeenSeqNo < op.seqNo() + : "Unexpected operation; " + + "last_seen_seqno [" + + lastSeenSeqNo + + "], from_seqno [" + + fromSeqNo + + "], to_seqno [" + + toSeqNo + + "], op [" + + op + + "]"; + ops[index] = op; + } + } + + private static IndexSearcher newIndexSearcher(Engine.Searcher engineSearcher) throws IOException { + return new IndexSearcher(Lucene.wrapAllDocsLive(engineSearcher.getDirectoryReader())); + } + + private static Query rangeQuery(long fromSeqNo, long toSeqNo, IndexVersion indexVersionCreated) { + return new BooleanQuery.Builder().add(LongPoint.newRangeQuery(SeqNoFieldMapper.NAME, fromSeqNo, toSeqNo), BooleanClause.Occur.MUST) + .add(Queries.newNonNestedFilter(indexVersionCreated), BooleanClause.Occur.MUST) // exclude non-root nested documents + .build(); + } + + static int countOperations(Engine.Searcher engineSearcher, long fromSeqNo, long toSeqNo, IndexVersion indexVersionCreated) + throws IOException { + if (fromSeqNo < 0 || toSeqNo < 0 || fromSeqNo > toSeqNo) { + throw new IllegalArgumentException("Invalid range; from_seqno [" + fromSeqNo + "], to_seqno [" + toSeqNo + "]"); + } + return newIndexSearcher(engineSearcher).count(rangeQuery(fromSeqNo, toSeqNo, indexVersionCreated)); + } + + private TopDocs searchOperations(FieldDoc after, boolean accurateTotalHits) throws IOException { + final Query rangeQuery = rangeQuery(Math.max(fromSeqNo, lastSeenSeqNo), toSeqNo, indexVersionCreated); + assert accurateTotalHits == false || after == null : "accurate total hits is required by the first batch only"; + final SortField sortBySeqNo = new SortField(SeqNoFieldMapper.NAME, SortField.Type.LONG); + TopFieldCollectorManager topFieldCollectorManager = new TopFieldCollectorManager( + new Sort(sortBySeqNo), + searchBatchSize, + after, + accurateTotalHits ? Integer.MAX_VALUE : 0 + ); + return indexSearcher.search(rangeQuery, topFieldCollectorManager); + } + + private static boolean assertDocSoftDeleted(LeafReader leafReader, int segmentDocId) throws IOException { + final NumericDocValues ndv = leafReader.getNumericDocValues(Lucene.SOFT_DELETES_FIELD); + if (ndv == null || ndv.advanceExact(segmentDocId) == false) { + throw new IllegalStateException("DocValues for field [" + Lucene.SOFT_DELETES_FIELD + "] is not found"); + } + return ndv.longValue() == 1; + } +} diff --git a/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java index 05cc6d148be5e..2e008e0ff92bf 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java +++ b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java @@ -46,8 +46,8 @@ /** * A {@link Translog.Snapshot} from changes in a Lucene index */ -final class LuceneChangesSnapshot implements Translog.Snapshot { - static final int DEFAULT_BATCH_SIZE = 1024; +public final class LuceneChangesSnapshot implements Translog.Snapshot { + public static final int DEFAULT_BATCH_SIZE = 1024; private final int searchBatchSize; private final long fromSeqNo, toSeqNo; @@ -83,7 +83,7 @@ final class LuceneChangesSnapshot implements Translog.Snapshot { * @param accessStats true if the stats of the snapshot can be accessed via {@link #totalOperations()} * @param indexVersionCreated the version on which this index was created */ - LuceneChangesSnapshot( + public LuceneChangesSnapshot( Engine.Searcher engineSearcher, int searchBatchSize, long fromSeqNo, diff --git a/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshotNew.java b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshotNew.java new file mode 100644 index 0000000000000..2cd1871a9aef1 --- /dev/null +++ b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshotNew.java @@ -0,0 +1,382 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +package org.elasticsearch.index.engine; + +import org.apache.lucene.document.LongPoint; +import org.apache.lucene.index.LeafReader; +import org.apache.lucene.index.LeafReaderContext; +import org.apache.lucene.index.NumericDocValues; +import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.search.BooleanQuery; +import org.apache.lucene.search.FieldDoc; +import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.Query; +import org.apache.lucene.search.ScoreDoc; +import org.apache.lucene.search.Sort; +import org.apache.lucene.search.SortField; +import org.apache.lucene.search.TopDocs; +import org.apache.lucene.search.TopFieldCollectorManager; +import org.apache.lucene.util.ArrayUtil; +import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.lucene.Lucene; +import org.elasticsearch.common.lucene.search.Queries; +import org.elasticsearch.core.IOUtils; +import org.elasticsearch.index.IndexVersion; +import org.elasticsearch.index.fieldvisitor.StoredFieldLoader; +import org.elasticsearch.index.mapper.SeqNoFieldMapper; +import org.elasticsearch.index.mapper.SourceLoader; +import org.elasticsearch.index.translog.Translog; +import org.elasticsearch.transport.Transports; + +import java.io.Closeable; +import java.io.IOException; +import java.util.Comparator; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * A {@link Translog.Snapshot} from changes in a Lucene index + */ +public final class LuceneChangesSnapshotNew implements Translog.Snapshot { + public static final int DEFAULT_BATCH_SIZE = 1024; + + private final int searchBatchSize; + private final long fromSeqNo, toSeqNo; + private long lastSeenSeqNo; + private int skippedOperations; + private final boolean requiredFullRange; + private final boolean singleConsumer; + + private final IndexSearcher indexSearcher; + private int docIndex = 0; + private final boolean accessStats; + private final int totalHits; + private ScoreDoc[] scoreDocs; + private final ParallelArray parallelArray; + private final Closeable onClose; + + private final IndexVersion indexVersionCreated; + + private final Thread creationThread; // for assertion + + private final SourceLoader sourceLoader; + private final StoredFieldLoader storedFieldLoader; + + /** + * Creates a new "translog" snapshot from Lucene for reading operations whose seq# in the specified range. + * + * @param engineSearcher the internal engine searcher which will be taken over if the snapshot is opened successfully + * @param searchBatchSize the number of documents should be returned by each search + * @param fromSeqNo the min requesting seq# - inclusive + * @param toSeqNo the maximum requesting seq# - inclusive + * @param requiredFullRange if true, the snapshot will strictly check for the existence of operations between fromSeqNo and toSeqNo + * @param singleConsumer true if the snapshot is accessed by a single thread that creates the snapshot + * @param accessStats true if the stats of the snapshot can be accessed via {@link #totalOperations()} + * @param indexVersionCreated the version on which this index was created + */ + public LuceneChangesSnapshotNew( + SourceLoader sourceLoader, + Engine.Searcher engineSearcher, + int searchBatchSize, + long fromSeqNo, + long toSeqNo, + boolean requiredFullRange, + boolean singleConsumer, + boolean accessStats, + IndexVersion indexVersionCreated + ) throws IOException { + if (fromSeqNo < 0 || toSeqNo < 0 || fromSeqNo > toSeqNo) { + throw new IllegalArgumentException("Invalid range; from_seqno [" + fromSeqNo + "], to_seqno [" + toSeqNo + "]"); + } + if (searchBatchSize <= 0) { + throw new IllegalArgumentException("Search_batch_size must be positive [" + searchBatchSize + "]"); + } + final AtomicBoolean closed = new AtomicBoolean(); + this.onClose = () -> { + if (closed.compareAndSet(false, true)) { + IOUtils.close(engineSearcher); + } + }; + final long requestingSize = (toSeqNo - fromSeqNo) == Long.MAX_VALUE ? Long.MAX_VALUE : (toSeqNo - fromSeqNo + 1L); + this.creationThread = Thread.currentThread(); + this.searchBatchSize = requestingSize < searchBatchSize ? Math.toIntExact(requestingSize) : searchBatchSize; + this.fromSeqNo = fromSeqNo; + this.toSeqNo = toSeqNo; + this.lastSeenSeqNo = fromSeqNo - 1; + this.requiredFullRange = requiredFullRange; + this.singleConsumer = singleConsumer; + this.indexSearcher = newIndexSearcher(engineSearcher); + this.indexSearcher.setQueryCache(null); + this.accessStats = accessStats; + this.parallelArray = new ParallelArray(this.searchBatchSize); + this.indexVersionCreated = indexVersionCreated; + final TopDocs topDocs = searchOperations(null, accessStats); + this.totalHits = Math.toIntExact(topDocs.totalHits.value); + this.scoreDocs = topDocs.scoreDocs; + this.sourceLoader = sourceLoader; + this.storedFieldLoader = StoredFieldLoader.create(false, sourceLoader.requiredStoredFields()); + fillParallelArray(scoreDocs, parallelArray); + } + + @Override + public void close() throws IOException { + assert assertAccessingThread(); + onClose.close(); + } + + @Override + public int totalOperations() { + assert assertAccessingThread(); + if (accessStats == false) { + throw new IllegalStateException("Access stats of a snapshot created with [access_stats] is false"); + } + return totalHits; + } + + @Override + public int skippedOperations() { + assert assertAccessingThread(); + return skippedOperations; + } + + @Override + public Translog.Operation next() throws IOException { + assert assertAccessingThread(); + Translog.Operation op = null; + for (int idx = nextDocIndex(); idx != -1; idx = nextDocIndex()) { + op = readDocAsOp(idx); + if (op != null) { + break; + } + } + if (requiredFullRange) { + rangeCheck(op); + } + if (op != null) { + lastSeenSeqNo = op.seqNo(); + } + return op; + } + + private boolean assertAccessingThread() { + assert singleConsumer == false || creationThread == Thread.currentThread() + : "created by [" + creationThread + "] != current thread [" + Thread.currentThread() + "]"; + assert Transports.assertNotTransportThread("reading changes snapshot may involve slow IO"); + return true; + } + + private void rangeCheck(Translog.Operation op) { + if (op == null) { + if (lastSeenSeqNo < toSeqNo) { + throw new MissingHistoryOperationsException( + "Not all operations between from_seqno [" + + fromSeqNo + + "] " + + "and to_seqno [" + + toSeqNo + + "] found; prematurely terminated last_seen_seqno [" + + lastSeenSeqNo + + "]" + ); + } + } else { + final long expectedSeqNo = lastSeenSeqNo + 1; + if (op.seqNo() != expectedSeqNo) { + throw new MissingHistoryOperationsException( + "Not all operations between from_seqno [" + + fromSeqNo + + "] " + + "and to_seqno [" + + toSeqNo + + "] found; expected seqno [" + + expectedSeqNo + + "]; found [" + + op + + "]" + ); + } + } + } + + private int nextDocIndex() throws IOException { + // we have processed all docs in the current search - fetch the next batch + if (docIndex == scoreDocs.length && docIndex > 0) { + final ScoreDoc prev = scoreDocs[scoreDocs.length - 1]; + scoreDocs = searchOperations((FieldDoc) prev, false).scoreDocs; + fillParallelArray(scoreDocs, parallelArray); + docIndex = 0; + } + if (docIndex < scoreDocs.length) { + int idx = docIndex; + docIndex++; + return idx; + } + return -1; + } + + private void fillParallelArray(ScoreDoc[] scoreDocs, ParallelArray parallelArray) throws IOException { + if (scoreDocs.length > 0) { + for (int i = 0; i < scoreDocs.length; i++) { + scoreDocs[i].shardIndex = i; + } + // for better loading performance we sort the array by docID and + // then visit all leaves in order. + if (parallelArray.useSequentialStoredFieldsReader == false) { + ArrayUtil.introSort(scoreDocs, Comparator.comparingInt(i -> i.doc)); + } + int docBase = -1; + int maxDoc = 0; + List leaves = indexSearcher.getIndexReader().leaves(); + int readerIndex = 0; + CombinedDocValues combinedDocValues = null; + LeafReaderContext leaf = null; + for (ScoreDoc scoreDoc : scoreDocs) { + if (scoreDoc.doc >= docBase + maxDoc) { + do { + leaf = leaves.get(readerIndex++); + docBase = leaf.docBase; + maxDoc = leaf.reader().maxDoc(); + } while (scoreDoc.doc >= docBase + maxDoc); + combinedDocValues = new CombinedDocValues(leaf.reader()); + } + final int segmentDocID = scoreDoc.doc - docBase; + final int index = scoreDoc.shardIndex; + parallelArray.leafReaderContexts[index] = leaf; + parallelArray.seqNo[index] = combinedDocValues.docSeqNo(segmentDocID); + parallelArray.primaryTerm[index] = combinedDocValues.docPrimaryTerm(segmentDocID); + parallelArray.version[index] = combinedDocValues.docVersion(segmentDocID); + parallelArray.isTombStone[index] = combinedDocValues.isTombstone(segmentDocID); + parallelArray.hasRecoverySource[index] = combinedDocValues.hasRecoverySource(segmentDocID); + } + // now sort back based on the shardIndex. we use this to store the previous index + if (parallelArray.useSequentialStoredFieldsReader == false) { + ArrayUtil.introSort(scoreDocs, Comparator.comparingInt(i -> i.shardIndex)); + } + } + } + + private static IndexSearcher newIndexSearcher(Engine.Searcher engineSearcher) throws IOException { + return new IndexSearcher(Lucene.wrapAllDocsLive(engineSearcher.getDirectoryReader())); + } + + private static Query rangeQuery(long fromSeqNo, long toSeqNo, IndexVersion indexVersionCreated) { + return new BooleanQuery.Builder().add(LongPoint.newRangeQuery(SeqNoFieldMapper.NAME, fromSeqNo, toSeqNo), BooleanClause.Occur.MUST) + .add(Queries.newNonNestedFilter(indexVersionCreated), BooleanClause.Occur.MUST) // exclude non-root nested documents + .build(); + } + + static int countOperations(Engine.Searcher engineSearcher, long fromSeqNo, long toSeqNo, IndexVersion indexVersionCreated) + throws IOException { + if (fromSeqNo < 0 || toSeqNo < 0 || fromSeqNo > toSeqNo) { + throw new IllegalArgumentException("Invalid range; from_seqno [" + fromSeqNo + "], to_seqno [" + toSeqNo + "]"); + } + return newIndexSearcher(engineSearcher).count(rangeQuery(fromSeqNo, toSeqNo, indexVersionCreated)); + } + + private TopDocs searchOperations(FieldDoc after, boolean accurateTotalHits) throws IOException { + final Query rangeQuery = rangeQuery(Math.max(fromSeqNo, lastSeenSeqNo), toSeqNo, indexVersionCreated); + assert accurateTotalHits == false || after == null : "accurate total hits is required by the first batch only"; + final SortField sortBySeqNo = new SortField(SeqNoFieldMapper.NAME, SortField.Type.LONG); + TopFieldCollectorManager topFieldCollectorManager = new TopFieldCollectorManager( + new Sort(sortBySeqNo), + searchBatchSize, + after, + accurateTotalHits ? Integer.MAX_VALUE : 0, + false + ); + return indexSearcher.search(rangeQuery, topFieldCollectorManager); + } + + private Translog.Operation readDocAsOp(int docIndex) throws IOException { + final LeafReaderContext leaf = parallelArray.leafReaderContexts[docIndex]; + final int segmentDocID = scoreDocs[docIndex].doc - leaf.docBase; + final long primaryTerm = parallelArray.primaryTerm[docIndex]; + assert primaryTerm > 0 : "nested child document must be excluded"; + final long seqNo = parallelArray.seqNo[docIndex]; + // Only pick the first seen seq# + if (seqNo == lastSeenSeqNo) { + skippedOperations++; + return null; + } + final long version = parallelArray.version[docIndex]; + var sourceLeaf = sourceLoader.leaf(leaf.reader(), null); + var fields = storedFieldLoader.getLoader(leaf, null); + fields.advanceTo(segmentDocID); + final Translog.Operation op; + final boolean isTombstone = parallelArray.isTombStone[docIndex]; + if (isTombstone && fields.id() == null) { + op = new Translog.NoOp(seqNo, primaryTerm, "tombstone"); + assert version == 1L : "Noop tombstone should have version 1L; actual version [" + version + "]"; + assert assertDocSoftDeleted(leaf.reader(), segmentDocID) : "Noop but soft_deletes field is not set [" + op + "]"; + } else { + final String id = fields.id(); + if (isTombstone) { + op = new Translog.Delete(id, seqNo, primaryTerm, version); + assert assertDocSoftDeleted(leaf.reader(), segmentDocID) : "Delete op but soft_deletes field is not set [" + op + "]"; + } else { + final BytesReference source = sourceLeaf.source(fields, segmentDocID).internalSourceRef(); + if (source == null) { + // TODO: Callers should ask for the range that source should be retained. Thus we should always + // check for the existence source once we make peer-recovery to send ops after the local checkpoint. + if (requiredFullRange) { + throw new MissingHistoryOperationsException( + "source not found for seqno=" + seqNo + " from_seqno=" + fromSeqNo + " to_seqno=" + toSeqNo + ); + } else { + skippedOperations++; + return null; + } + } + // TODO: pass the latest timestamp from engine. + final long autoGeneratedIdTimestamp = -1; + op = new Translog.Index(id, seqNo, primaryTerm, version, source, fields.routing(), autoGeneratedIdTimestamp); + } + } + assert fromSeqNo <= op.seqNo() && op.seqNo() <= toSeqNo && lastSeenSeqNo < op.seqNo() + : "Unexpected operation; " + + "last_seen_seqno [" + + lastSeenSeqNo + + "], from_seqno [" + + fromSeqNo + + "], to_seqno [" + + toSeqNo + + "], op [" + + op + + "]"; + return op; + } + + private static boolean assertDocSoftDeleted(LeafReader leafReader, int segmentDocId) throws IOException { + final NumericDocValues ndv = leafReader.getNumericDocValues(Lucene.SOFT_DELETES_FIELD); + if (ndv == null || ndv.advanceExact(segmentDocId) == false) { + throw new IllegalStateException("DocValues for field [" + Lucene.SOFT_DELETES_FIELD + "] is not found"); + } + return ndv.longValue() == 1; + } + + private static final class ParallelArray { + final LeafReaderContext[] leafReaderContexts; + final long[] version; + final long[] seqNo; + final long[] primaryTerm; + final boolean[] isTombStone; + final boolean[] hasRecoverySource; + boolean useSequentialStoredFieldsReader = false; + + ParallelArray(int size) { + version = new long[size]; + seqNo = new long[size]; + primaryTerm = new long[size]; + isTombStone = new boolean[size]; + hasRecoverySource = new boolean[size]; + leafReaderContexts = new LeafReaderContext[size]; + } + } +}