msokolov commented on code in PR #12844:
URL: https://github.com/apache/lucene/pull/12844#discussion_r1408025348
##########
lucene/core/src/java/org/apache/lucene/util/hnsw/NeighborArray.java:
##########
@@ -31,18 +33,21 @@
*
* @lucene.internal
*/
-public class NeighborArray {
+public class NeighborArray implements Accountable {
+ private static final int INITIAL_CAPACITY = 10;
Review Comment:
OK I believe it's safe to grow on demand because the concurrent impl is used
only when merging, and in that case we add the initial set of nodes on one
thread and then NeighborArray is only updated when adding reciprocal neighbors
(in HnswGraphBuilder.addDiverseNeighbors), where we acquire a write lock that
should prevent concurrent updates. Basically - we already handle
synchronization around these arrays for the purpose of adding/removing entries,
so we should be free to resize (and replace the array pointer) in those cases.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]