dungba88 commented on code in PR #12738:
URL: https://github.com/apache/lucene/pull/12738#discussion_r1377348991


##########
lucene/core/src/java/org/apache/lucene/util/fst/FSTCompiler.java:
##########
@@ -461,9 +457,14 @@ long addNode(FSTCompiler.UnCompiledNode<T> nodeIn) throws 
IOException {
     final long thisNodeAddress = bytes.getPosition() - 1;
     bytes.reverse(startAddress, thisNodeAddress);
     nodeCount++;
-    return thisNodeAddress;
+    // nocommit: this is non-optimal, we should write the BytesStore to the 
ByteBlockPool directly
+    byte[] buf = new byte[Math.toIntExact(thisNodeAddress - startAddress + 1)];
+    bytes.copyBytes(startAddress, buf, 0, buf.length);
+    return new NodeAndBuffer(thisNodeAddress, buf);
   }
 
+  record NodeAndBuffer(long nodeAddress, byte[] bytes) {}

Review Comment:
   Ah yeah I put up some quick way to create the class, basically just a class 
with 2 properties. And if we are to copy the bytes from BytesStore directly to 
ByteBlockPool then will be no need for this. I'm thinking of having the 
ByteBlockPool as argument of this method.



-- 
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