make hash error logging fine grained

This commit is contained in:
Brian Gough 2017-02-22 14:32:51 +00:00
parent 19e7522d3f
commit 168bab6960
2 changed files with 6 additions and 4 deletions

View file

@ -19,6 +19,8 @@ setScript = """
"""
logHashErrors = Settings.documentupdater?.logHashErrors
logHashReadErrors = logHashErrors?.read
logHashWriteErrors = logHashErrors?.write
module.exports = RedisManager =
rclient: rclient
@ -45,7 +47,7 @@ module.exports = RedisManager =
return callback(error) if error?
# check the hash computed on the redis server
writeHash = result?[0]
if logHashErrors and writeHash? and writeHash isnt docHash
if logHashWriteErrors and writeHash? and writeHash isnt docHash
logger.error project_id: project_id, doc_id: doc_id, writeHash: writeHash, origHash: docHash, "hash mismatch on putDocInMemory"
# update docsInProject set
rclient.sadd keys.docsInProject(project_id:project_id), doc_id, callback
@ -85,7 +87,7 @@ module.exports = RedisManager =
# check sha1 hash value if present
if docLines? and storedHash?
computedHash = RedisManager._computeHash(docLines)
if logHashErrors and computedHash isnt storedHash
if logHashReadErrors and computedHash isnt storedHash
logger.error project_id: project_id, doc_id: doc_id, doc_project_id: doc_project_id, computedHash: computedHash, storedHash: storedHash, "hash mismatch on retrieved document"
try
@ -166,7 +168,7 @@ module.exports = RedisManager =
return callback(error) if error?
# check the hash computed on the redis server
writeHash = result?[0]
if logHashErrors and writeHash? and writeHash isnt newHash
if logHashWriteErrors and writeHash? and writeHash isnt newHash
logger.error doc_id: doc_id, writeHash: writeHash, origHash: newHash, "hash mismatch on updateDocument"
return callback()

View file

@ -26,7 +26,7 @@ describe "RedisManager", ->
docsInProject: ({project_id}) -> "DocsIn:#{project_id}"
ranges: ({doc_id}) -> "Ranges:#{doc_id}"
"logger-sharelatex": @logger = { error: sinon.stub(), log: sinon.stub(), warn: sinon.stub() }
"settings-sharelatex": {documentupdater: {logHashErrors: true}}
"settings-sharelatex": {documentupdater: {logHashErrors: {write:true, read:true}}}
"./Metrics": @metrics =
inc: sinon.stub()
Timer: class Timer