diff --git a/src/main/java/org/opensearch/knn/index/codec/KNN990Codec/NativeEngines990KnnVectorsWriter.java b/src/main/java/org/opensearch/knn/index/codec/KNN990Codec/NativeEngines990KnnVectorsWriter.java index 23cd2a4de0..91b3b96c55 100644 --- a/src/main/java/org/opensearch/knn/index/codec/KNN990Codec/NativeEngines990KnnVectorsWriter.java +++ b/src/main/java/org/opensearch/knn/index/codec/KNN990Codec/NativeEngines990KnnVectorsWriter.java @@ -108,31 +108,35 @@ public void flush(int maxDoc, final Sorter.DocMap sortMap) throws IOException { @Override public void mergeOneField(final FieldInfo fieldInfo, final MergeState mergeState) throws IOException { // This will ensure that we are merging the FlatIndex during force merge. + StopWatch stopwatch = new StopWatch().start(); flatVectorsWriter.mergeOneField(fieldInfo, mergeState); - + log.info("Merge : Reading and writing merged FlatVector Took : {} ms", stopwatch.stop().totalTime().millis()); final VectorDataType vectorDataType = extractVectorDataType(fieldInfo); final Supplier> knnVectorValuesSupplier = () -> getKNNVectorValuesForMerge( vectorDataType, fieldInfo, mergeState ); + stopwatch = new StopWatch().start(); int totalLiveDocs = getLiveDocs(knnVectorValuesSupplier.get()); + log.info("Merge : Reading live docs Took : {} ms", stopwatch.stop().totalTime().millis()); if (totalLiveDocs == 0) { log.debug("[Merge] No live docs for field {}", fieldInfo.getName()); return; } final QuantizationState quantizationState = train(fieldInfo, knnVectorValuesSupplier, totalLiveDocs); - final NativeIndexWriter writer = NativeIndexWriter.getWriter(fieldInfo, segmentWriteState, quantizationState); - final KNNVectorValues knnVectorValues = knnVectorValuesSupplier.get(); + StopWatch stopWatch2 = new StopWatch().start(); + final KNNVectorValues knnVectorValues = knnVectorValuesSupplier.get(); + log.info("Merge : Creating merged VectorValues Took : {} ms", stopWatch2.stop().totalTime().millis()); StopWatch stopWatch = new StopWatch().start(); - + final NativeIndexWriter writer = NativeIndexWriter.getWriter(fieldInfo, segmentWriteState, quantizationState); writer.mergeIndex(knnVectorValues, totalLiveDocs); long time_in_millis = stopWatch.stop().totalTime().millis(); KNNGraphValue.MERGE_TOTAL_TIME_IN_MILLIS.incrementBy(time_in_millis); - log.debug("Merge took {} ms for vector field [{}]", time_in_millis, fieldInfo.getName()); + log.info("Merge took {} ms for vector field [{}]", time_in_millis, fieldInfo.getName()); } /**