Explorar o código

Merge pull request #23447 from overleaf/em-reduce-validation-error-logs

Only log validation errors once per flush

GitOrigin-RevId: ee3f656c4c7c09fd7f3ff2462278c9aef81b9bb5
Eric Mc Sween hai 1 ano
pai
achega
9893f18ca5
Modificáronse 1 ficheiros con 13 adicións e 4 borrados
  1. 13 4
      services/history-v1/storage/lib/persist_changes.js

+ 13 - 4
services/history-v1/storage/lib/persist_changes.js

@@ -78,6 +78,12 @@ async function persistChanges(projectId, allChanges, limits, clientEndVersion) {
   let originalEndVersion
   let changesToPersist
 
+  /**
+   * It's only useful to log validation errors once per flush. When we enforce
+   * content hash validation, it will stop the flush right away anyway.
+   */
+  let validationErrorLogged = false
+
   limits = limits || {}
   _.defaults(limits, {
     changeBucketMinutes: 60,
@@ -127,10 +133,13 @@ async function persistChanges(projectId, allChanges, limits, clientEndVersion) {
         } catch (err) {
           // Temporary: skip validation errors
           if (err instanceof InvalidChangeError) {
-            logger.warn(
-              { err, projectId },
-              'content snapshot mismatch (ignored)'
-            )
+            if (!validationErrorLogged) {
+              logger.warn(
+                { err, projectId },
+                'content snapshot mismatch (ignored)'
+              )
+              validationErrorLogged = true
+            }
           } else {
             throw err
           }