Selaa lähdekoodia

Merge pull request #9455 from overleaf/em-recreate-dropbox-entities

Recreate the dropboxEntities collection with new indexes

GitOrigin-RevId: 46e503864cd8b1671072efb05f43b1d4582f35b6
Eric Mc Sween 4 vuotta sitten
vanhempi
sitoutus
03d8ad5eea

+ 2 - 2
services/chat/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -42,7 +42,7 @@ services:
     command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
     user: root
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/chat/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -44,7 +44,7 @@ services:
     command: npm run --silent test:acceptance
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 1 - 1
services/clsi/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 1 - 1
services/clsi/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 2 - 2
services/contacts/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -42,7 +42,7 @@ services:
     command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
     user: root
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/contacts/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -44,7 +44,7 @@ services:
     command: npm run --silent test:acceptance
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/docstore/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -51,7 +51,7 @@ services:
     command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
     user: root
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/docstore/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -53,7 +53,7 @@ services:
     command: npm run --silent test:acceptance
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/document-updater/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -51,7 +51,7 @@ services:
       retries: 20
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/document-updater/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -53,7 +53,7 @@ services:
       retries: 20
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 1 - 1
services/filestore/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 1 - 1
services/filestore/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 2 - 2
services/notifications/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -42,7 +42,7 @@ services:
     command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
     user: root
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/notifications/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -44,7 +44,7 @@ services:
     command: npm run --silent test:acceptance
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 1 - 1
services/real-time/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 1 - 1
services/real-time/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 

+ 2 - 2
services/spelling/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -42,7 +42,7 @@ services:
     command: tar -czf /tmp/build/build.tar.gz --exclude=build.tar.gz --exclude-vcs .
     user: root
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/spelling/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -50,7 +50,7 @@ services:
     command: npm run --silent test:acceptance
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/track-changes/docker-compose.ci.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -58,7 +58,7 @@ services:
       retries: 20
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 2 - 2
services/track-changes/docker-compose.yml

@@ -1,6 +1,6 @@
 # This file was auto-generated, do not edit it directly.
 # Instead run bin/update_build_scripts from
-# https://github.com/sharelatex/sharelatex-dev-environment
+# https://github.com/overleaf/internal/
 
 version: "2.3"
 
@@ -60,7 +60,7 @@ services:
       retries: 20
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
     healthcheck:
       test: "mongo --quiet localhost/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'"
       interval: 1s

+ 1 - 1
services/web/docker-compose.ci.yml

@@ -91,7 +91,7 @@ services:
     image: redis
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
 
   ldap:
     restart: always

+ 1 - 1
services/web/docker-compose.yml

@@ -89,7 +89,7 @@ services:
     image: redis
 
   mongo:
-    image: mongo:4.2.15
+    image: mongo:4.4.16
 
   ldap:
     restart: always

+ 32 - 0
services/web/migrations/20220825160708_recreate_dropboxEntities.js

@@ -0,0 +1,32 @@
+const Helpers = require('./lib/helpers')
+
+exports.tags = ['saas']
+
+const indexes = [
+  {
+    key: { 'overleaf.userId': 1, 'dropbox.id': 1 },
+    name: 'overleaf.userId_1_dropbox.id_1',
+    unique: true,
+    partialFilterExpression: { 'dropbox.id': { $exists: true } },
+  },
+  {
+    key: { 'overleaf.userId': 1, 'overleaf.id': 1 },
+    name: 'overleaf.userId_1_overleaf.id_1',
+    unique: true,
+    partialFilterExpression: { 'overleaf.id': { $exists: true } },
+  },
+  { key: { 'overleaf.userId': 1, 'dropbox.pathLower': 'hashed' } },
+]
+
+exports.migrate = async client => {
+  const { db } = client
+  // Forcibly drop the dropboxEntities collection. The new structure is
+  // different and we don't want to keep the data with the old structure around.
+  await db.dropboxEntities.drop()
+  await Helpers.addIndexesToCollection(db.dropboxEntities, indexes)
+}
+
+exports.rollback = async client => {
+  const { db } = client
+  await Helpers.dropIndexesFromCollection(db.dropboxEntities, indexes)
+}