benwtrent commented on code in PR #13561:
URL: https://github.com/apache/lucene/pull/13561#discussion_r1672957009


##########
lucene/core/src/java/org/apache/lucene/util/hnsw/HnswGraphBuilder.java:
##########
@@ -156,14 +157,20 @@ public OnHeapHnswGraph build(int maxOrd) throws 
IOException {
       infoStream.message(HNSW_COMPONENT, "build graph from " + maxOrd + " 
vectors");
     }
     addVectors(maxOrd);
-    return hnsw;

Review Comment:
   I think checking for `frozen` at the start of build is wise and prevents 
info stream writing when we are already frozen.



##########
lucene/core/src/java/org/apache/lucene/util/hnsw/HnswGraphBuilder.java:
##########
@@ -156,14 +157,20 @@ public OnHeapHnswGraph build(int maxOrd) throws 
IOException {
       infoStream.message(HNSW_COMPONENT, "build graph from " + maxOrd + " 
vectors");
     }
     addVectors(maxOrd);
-    return hnsw;
+    return getCompletedGraph();
   }
 
   @Override
   public void setInfoStream(InfoStream infoStream) {
     this.infoStream = infoStream;
   }
 
+  @Override
+  public OnHeapHnswGraph getCompletedGraph() {
+    frozen = true;
+    return getGraph();
+  }
+
   @Override
   public OnHeapHnswGraph getGraph() {
     return hnsw;

Review Comment:
   We should check for frozen directly in `addVectors` to prevent infoStream 
writing if there is some sub-class calling this method erroneously



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to