From bccd2f3d588996195eb3533e8a4230effc6f9f81 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 29 Mar 2019 09:23:34 +0100 Subject: [PATCH] acquire mutex when serializing conductor state (#8620) --- arangod/Pregel/Conductor.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arangod/Pregel/Conductor.cpp b/arangod/Pregel/Conductor.cpp index c3826d8dcb..2d4903f99e 100644 --- a/arangod/Pregel/Conductor.cpp +++ b/arangod/Pregel/Conductor.cpp @@ -687,16 +687,15 @@ void Conductor::collectAQLResults(VPackBuilder& outBuilder) { } VPackBuilder Conductor::toVelocyPack() const { + MUTEX_LOCKER(guard, _callbackMutex); + VPackBuilder result; result.openObject(); result.add("state", VPackValue(pregel::ExecutionStateNames[_state])); result.add("gss", VPackValue(_globalSuperstep)); result.add("totalRuntime", VPackValue(totalRuntimeSecs())); _aggregators->serializeValues(result); - { - MUTEX_LOCKER(guard, _callbackMutex); - _statistics.serializeValues(result); - } + _statistics.serializeValues(result); if (_state != ExecutionState::RUNNING) { result.add("vertexCount", VPackValue(_totalVerticesCount)); result.add("edgeCount", VPackValue(_totalEdgesCount));