@@ -8,6 +8,7 @@ const elasticsearch = require('elasticsearch')
8
8
const _ = require ( 'lodash' )
9
9
const Joi = require ( '@hapi/joi' )
10
10
const { Mutex } = require ( 'async-mutex' )
11
+ const logger = require ( './logger' )
11
12
12
13
AWS . config . region = config . ES . AWS_REGION
13
14
@@ -63,9 +64,13 @@ async function getESClient () {
63
64
const tId = _ . get ( params . query , 'transactionId' )
64
65
params . query = _ . omit ( params . query , 'transactionId' )
65
66
if ( ! tId || tId !== transactionId ) {
67
+ logger . info ( `${ transactionId } is trying to acquire the mutex` )
66
68
const release = await esClientMutex . acquire ( )
69
+ logger . info ( `${ transactionId } has acquired the mutex` )
67
70
mutexReleaseMap [ tId || 'noTransaction' ] = release
68
71
transactionId = tId
72
+ } else {
73
+ logger . info ( `${ transactionId } did not acquire any mutex` )
69
74
}
70
75
try {
71
76
return await esClient . transport . originalRequest ( params )
@@ -75,8 +80,12 @@ async function getESClient () {
75
80
delete mutexReleaseMap [ tId || 'noTransaction' ]
76
81
transactionId = undefined
77
82
if ( release ) {
83
+ logger . info ( `${ transactionId } is now releasing the mutex` )
78
84
release ( )
85
+ logger . info ( `${ transactionId } has released the mutex` )
79
86
}
87
+ } else {
88
+ logger . info ( `${ transactionId } did not release the mutex` )
80
89
}
81
90
}
82
91
}
@@ -186,7 +195,11 @@ function checkEsMutexRelease (tId) {
186
195
delete mutexReleaseMap [ tId ]
187
196
transactionId = undefined
188
197
if ( release ) {
198
+ logger . info ( `${ tId } is releasing the mutex` )
189
199
release ( )
200
+ logger . info ( `${ tId } has released the mutex` )
201
+ } else {
202
+ logger . info ( `${ tId } has no mutex to release` )
190
203
}
191
204
}
192
205
}
0 commit comments