From 84f9f71b81dc392950545d8a7186ac01cf653603 Mon Sep 17 00:00:00 2001 From: kodumbeats Date: Wed, 25 Aug 2021 15:36:45 -0400 Subject: [PATCH] Fix race condition between database controller and worker --- app/controllers/api/database.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/database.php b/app/controllers/api/database.php index 8648aee54..70dc62048 100644 --- a/app/controllers/api/database.php +++ b/app/controllers/api/database.php @@ -91,16 +91,20 @@ function createAttribute($collectionId, $attribute, $response, $dbForInternal, $ $dbForInternal->purgeDocument('collections', $collectionId); + // Pass clone of $attribute object to workers + // so we can later modify Document to fit response model + $clone = clone $attribute; + $database ->setParam('type', DATABASE_TYPE_CREATE_ATTRIBUTE) ->setParam('collection', $collection) - ->setParam('document', $attribute) + ->setParam('document', $clone) ; $audits ->setParam('event', 'database.attributes.create') ->setParam('resource', 'database/collection/'.$collection->getId()) - ->setParam('data', $attribute) + ->setParam('data', $clone) ; $response->setStatusCode(Response::STATUS_CODE_CREATED);