From a3e4fbf6aa8e3709f3001ca918f78f2bf2bb4185 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Fri, 19 Jan 2024 13:44:25 -0800 Subject: [PATCH] Use shared lock for copying neighbors to local memory --- src/hnswutils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hnswutils.c b/src/hnswutils.c index b9d722a..6521377 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -781,7 +781,7 @@ HnswSearchLayer(char *base, Datum q, List *ep, int ef, int lc, Relation index, F /* Copy neighborhood to local memory if needed */ if (index == NULL) { - LWLockAcquire(&cElement->lock, LW_EXCLUSIVE); + LWLockAcquire(&cElement->lock, LW_SHARED); memcpy(neighborhoodData, neighborhood, neighborhoodSize); LWLockRelease(&cElement->lock); neighborhood = neighborhoodData;