Przeglądaj źródła

make hash error logging fine grained

Brian Gough 9 lat temu
rodzic
commit
168bab6960

+ 5 - 3
services/document-updater/app/coffee/RedisManager.coffee

@@ -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()
 

+ 1 - 1
services/document-updater/test/unit/coffee/RedisManager/RedisManagerTests.coffee

@@ -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