diff --git a/src/storage/v2/storage.cpp b/src/storage/v2/storage.cpp index a402f5ad9..a87c79bc7 100644 --- a/src/storage/v2/storage.cpp +++ b/src/storage/v2/storage.cpp @@ -957,7 +957,7 @@ void Storage::CollectGarbage() { switch (prev.type) { case PreviousPtr::Type::VERTEX: { Vertex *vertex = prev.vertex; - std::unique_lock<utils::SpinLock> vertex_guard(vertex->lock); + std::lock_guard<utils::SpinLock> vertex_guard(vertex->lock); if (vertex->delta != &delta) { // Something changed, we're not the first delta in the chain // anymore. @@ -971,12 +971,13 @@ void Storage::CollectGarbage() { } case PreviousPtr::Type::EDGE: { Edge *edge = prev.edge; - std::unique_lock<utils::SpinLock> edge_guard(edge->lock); + std::lock_guard<utils::SpinLock> edge_guard(edge->lock); if (edge->delta != &delta) { // Something changed, we're not the first delta in the chain // anymore. continue; } + edge->delta = nullptr; if (edge->deleted) { current_deleted_edges.push_back(edge->gid); }