From 698418d24e81b2c3d969e605affb764c41a17185 Mon Sep 17 00:00:00 2001 From: csmig Date: Mon, 29 Mar 2021 20:30:18 -0400 Subject: [PATCH] fix: reduce deadlock potential (#216) --- api/source/service/mysql/AssetService.js | 2 +- api/source/service/mysql/utils.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/api/source/service/mysql/AssetService.js b/api/source/service/mysql/AssetService.js index 91c7418f5..faf13efe7 100644 --- a/api/source/service/mysql/AssetService.js +++ b/api/source/service/mysql/AssetService.js @@ -38,7 +38,7 @@ exports.queryAssets = async function (inProjection = [], inPredicates = {}, elev // PROJECTIONS if (inProjection.includes('adminStats')) { - let statsJoin = 'stats_asset_stig sas WHERE sas.assetId = a.assetId' + let statsJoin = 'stig_asset_map sam inner join stats_asset_stig sas on (sam.assetId=sas.assetId and sam.benchmarkId=sas.benchmarkId) WHERE sas.assetId = a.assetId' columns.push(`json_object( 'stigCount', COUNT(distinct sa.saId), 'stigAssignedCount', COUNT(distinct usa.saId), diff --git a/api/source/service/mysql/utils.js b/api/source/service/mysql/utils.js index 78599bb87..aee089dac 100644 --- a/api/source/service/mysql/utils.js +++ b/api/source/service/mysql/utils.js @@ -341,6 +341,7 @@ module.exports.updateStatsAssetStig = async function(connection, { collectionId, group by sa.assetId, sa.benchmarkId + FOR UPDATE ` const sqlUpsert = ` @@ -392,7 +393,7 @@ module.exports.updateStatsAssetStig = async function(connection, { collectionId, let bindsUpsert = results.map( r => Object.values(r)) let stats; [stats] = await connection.query(sqlUpsert, [bindsUpsert]) - await connection.query(sqlIntegrity) + // await connection.query(sqlIntegrity) return stats } else {