Переглянути джерело

Merge pull request #5861 from overleaf/bg-log-missing-pathnames

log missing pathnames in document-updater

GitOrigin-RevId: bf3bdee5ded278710aa0b80193b2cf884029f07b
Brian Gough 4 роки тому
батько
коміт
033b9bd982

+ 10 - 0
services/document-updater/app/js/PersistenceManager.js

@@ -83,6 +83,16 @@ function getDoc(projectId, docId, options = {}, _callback) {
       if (body.pathname == null) {
         return callback(new Error('web API response had no valid doc pathname'))
       }
+      if (!body.pathname) {
+        logger.warn(
+          { projectId, docId },
+          'missing pathname in PersistenceManager getDoc'
+        )
+        Metrics.inc('pathname', 1, {
+          path: 'PersistenceManager.getDoc',
+          status: body.pathname === '' ? 'zero-length' : 'undefined',
+        })
+      }
       callback(
         null,
         body.lines,

+ 24 - 0
services/document-updater/app/js/RedisManager.js

@@ -98,6 +98,13 @@ module.exports = RedisManager = {
       rclient.sadd(keys.docsInProject({ project_id }), doc_id, error => {
         if (error) return callback(error)
 
+        if (!pathname) {
+          metrics.inc('pathname', 1, {
+            path: 'RedisManager.setDoc',
+            status: pathname === '' ? 'zero-length' : 'undefined',
+          })
+        }
+
         rclient.mset(
           {
             [keys.docLines({ doc_id })]: docLines,
@@ -267,6 +274,13 @@ module.exports = RedisManager = {
         projectHistoryId = parseInt(projectHistoryId)
       }
 
+      if (!pathname) {
+        metrics.inc('pathname', 1, {
+          path: 'RedisManager.getDoc',
+          status: pathname === '' ? 'zero-length' : 'undefined',
+        })
+      }
+
       callback(
         null,
         docLines,
@@ -594,6 +608,16 @@ module.exports = RedisManager = {
           return callback(error)
         }
         if (lines != null && version != null) {
+          if (!update.newPathname) {
+            logger.warn(
+              { project_id, doc_id, update },
+              'missing pathname in RedisManager.renameDoc'
+            )
+            metrics.inc('pathname', 1, {
+              path: 'RedisManager.renameDoc',
+              status: update.newPathname === '' ? 'zero-length' : 'undefined',
+            })
+          }
           return rclient.set(
             keys.pathname({ doc_id }),
             update.newPathname,