Mobrovac has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/333990 )

Change subject: Update restbase to 000942f
......................................................................

Update restbase to 000942f

List of changes:
000942f Bump table dependencies, remove logging that's unnesessary now
xxxxxxx Update node module dependencies

Change-Id: I9a64fd0c2b7368d688e3714c3e24c4010fdcc0c9
---
M node_modules/content-type/package.json
M node_modules/heapdump/build/Makefile
M 
node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
M node_modules/heapdump/build/addon.target.mk
M node_modules/heapdump/build/config.gypi
M node_modules/json-stable-stringify/package.json
M node_modules/kad/package.json
D node_modules/normalize-package-data/test/normalize.js~
M node_modules/restbase-mod-table-cassandra/lib/db.js
M node_modules/restbase-mod-table-cassandra/lib/dbutils.js
M node_modules/restbase-mod-table-cassandra/lib/revisionPolicy.js
M node_modules/restbase-mod-table-cassandra/package.json
M node_modules/swagger-ui/package.json
M restbase
14 files changed, 83 insertions(+), 324 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/restbase/deploy 
refs/changes/90/333990/1

diff --git a/node_modules/content-type/package.json 
b/node_modules/content-type/package.json
index b98eea9..aa1bcd3 100644
--- a/node_modules/content-type/package.json
+++ b/node_modules/content-type/package.json
@@ -49,7 +49,7 @@
     "/"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/content-type.git#47b2632d0a2ee79a7d67268e2f6621becd95d05b";,
-  "_shasum": "241a59ae56e1c89aefb2ca6908c9dd3411cf7a20",
+  "_shasum": "3ce2d76c982905c4f5212244d9e110b00353c063",
   "_shrinkwrap": null,
   "_spec": 
"content-type@git+https://github.com/wikimedia/content-type.git#master";,
   "_where": "/opt/service",
diff --git a/node_modules/heapdump/build/Makefile 
b/node_modules/heapdump/build/Makefile
index 2f27e5e..80ab260 100644
--- a/node_modules/heapdump/build/Makefile
+++ b/node_modules/heapdump/build/Makefile
@@ -308,8 +308,8 @@
 endif
 
 quiet_cmd_regen_makefile = ACTION Regenerating $@
-cmd_regen_makefile = cd $(srcdir); 
/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py
 -fmake --ignore-environment "--toplevel-dir=." 
-I/opt/service/node_modules/heapdump/build/config.gypi 
-I/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 -I/root/.node-gyp/6.9.1/include/node/common.gypi "--depth=." "-Goutput_dir=." 
"--generator-output=build" "-Dlibrary=shared_library" "-Dvisibility=default" 
"-Dnode_root_dir=/root/.node-gyp/6.9.1" 
"-Dnode_gyp_dir=/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp"
 "-Dnode_lib_file=node.lib" 
"-Dmodule_root_dir=/opt/service/node_modules/heapdump" binding.gyp
-Makefile: 
$(srcdir)/../../../../usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 $(srcdir)/build/config.gypi $(srcdir)/binding.gyp 
$(srcdir)/../../../../root/.node-gyp/6.9.1/include/node/common.gypi
+cmd_regen_makefile = cd $(srcdir); 
/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py
 -fmake --ignore-environment "--toplevel-dir=." 
-I/opt/service/node_modules/heapdump/build/config.gypi 
-I/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 -I/home/runuser/.node-gyp/6.9.1/include/node/common.gypi "--depth=." 
"-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" 
"-Dvisibility=default" "-Dnode_root_dir=/home/runuser/.node-gyp/6.9.1" 
"-Dnode_gyp_dir=/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp"
 "-Dnode_lib_file=node.lib" 
"-Dmodule_root_dir=/opt/service/node_modules/heapdump" binding.gyp
+Makefile: 
$(srcdir)/../../../../home/runuser/.node-gyp/6.9.1/include/node/common.gypi 
$(srcdir)/../../../../usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 $(srcdir)/build/config.gypi $(srcdir)/binding.gyp
        $(call do_cmd,regen_makefile)
 
 # "all" is a concatenation of the "all" targets from all the included
diff --git 
a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
 
b/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
index f1c3bd7..e043efc 100644
--- 
a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
+++ 
b/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
@@ -1,34 +1,36 @@
-cmd_Release/obj.target/addon/src/heapdump.o := g++ 
'-DNODE_GYP_MODULE_NAME=addon' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' 
'-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' 
'-DBUILDING_NODE_EXTENSION' -I/root/.node-gyp/6.9.1/include/node 
-I/root/.node-gyp/6.9.1/src -I/root/.node-gyp/6.9.1/deps/uv/include 
-I/root/.node-gyp/6.9.1/deps/v8/include  -fPIC -pthread -Wall -Wextra 
-Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti 
-fno-exceptions -std=gnu++0x -MMD -MF 
./Release/.deps/Release/obj.target/addon/src/heapdump.o.d.raw   -c -o 
Release/obj.target/addon/src/heapdump.o ../src/heapdump.cc
+cmd_Release/obj.target/addon/src/heapdump.o := g++ 
'-DNODE_GYP_MODULE_NAME=addon' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' 
'-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' 
'-DBUILDING_NODE_EXTENSION' -I/home/runuser/.node-gyp/6.9.1/include/node 
-I/home/runuser/.node-gyp/6.9.1/src 
-I/home/runuser/.node-gyp/6.9.1/deps/uv/include 
-I/home/runuser/.node-gyp/6.9.1/deps/v8/include  -fPIC -pthread -Wall -Wextra 
-Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti 
-fno-exceptions -std=gnu++0x -MMD -MF 
./Release/.deps/Release/obj.target/addon/src/heapdump.o.d.raw   -c -o 
Release/obj.target/addon/src/heapdump.o ../src/heapdump.cc
 Release/obj.target/addon/src/heapdump.o: ../src/heapdump.cc \
- /root/.node-gyp/6.9.1/include/node/node.h \
- /root/.node-gyp/6.9.1/include/node/v8.h \
- /root/.node-gyp/6.9.1/include/node/v8-version.h \
- /root/.node-gyp/6.9.1/include/node/v8config.h \
- /root/.node-gyp/6.9.1/include/node/node_version.h ../src/compat-inl.h \
- ../src/compat.h /root/.node-gyp/6.9.1/include/node/node_version.h \
- /root/.node-gyp/6.9.1/include/node/v8.h \
- /root/.node-gyp/6.9.1/include/node/v8-profiler.h \
- /root/.node-gyp/6.9.1/include/node/uv.h \
- /root/.node-gyp/6.9.1/include/node/uv-errno.h \
- /root/.node-gyp/6.9.1/include/node/uv-version.h \
- /root/.node-gyp/6.9.1/include/node/uv-unix.h \
- /root/.node-gyp/6.9.1/include/node/uv-threadpool.h \
- /root/.node-gyp/6.9.1/include/node/uv-linux.h ../src/heapdump-posix.h
+ /home/runuser/.node-gyp/6.9.1/include/node/node.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/v8.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/v8-version.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/v8config.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/node_version.h \
+ ../src/compat-inl.h ../src/compat.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/node_version.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/v8.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/v8-profiler.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv-errno.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv-version.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv-unix.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv-threadpool.h \
+ /home/runuser/.node-gyp/6.9.1/include/node/uv-linux.h \
+ ../src/heapdump-posix.h
 ../src/heapdump.cc:
-/root/.node-gyp/6.9.1/include/node/node.h:
-/root/.node-gyp/6.9.1/include/node/v8.h:
-/root/.node-gyp/6.9.1/include/node/v8-version.h:
-/root/.node-gyp/6.9.1/include/node/v8config.h:
-/root/.node-gyp/6.9.1/include/node/node_version.h:
+/home/runuser/.node-gyp/6.9.1/include/node/node.h:
+/home/runuser/.node-gyp/6.9.1/include/node/v8.h:
+/home/runuser/.node-gyp/6.9.1/include/node/v8-version.h:
+/home/runuser/.node-gyp/6.9.1/include/node/v8config.h:
+/home/runuser/.node-gyp/6.9.1/include/node/node_version.h:
 ../src/compat-inl.h:
 ../src/compat.h:
-/root/.node-gyp/6.9.1/include/node/node_version.h:
-/root/.node-gyp/6.9.1/include/node/v8.h:
-/root/.node-gyp/6.9.1/include/node/v8-profiler.h:
-/root/.node-gyp/6.9.1/include/node/uv.h:
-/root/.node-gyp/6.9.1/include/node/uv-errno.h:
-/root/.node-gyp/6.9.1/include/node/uv-version.h:
-/root/.node-gyp/6.9.1/include/node/uv-unix.h:
-/root/.node-gyp/6.9.1/include/node/uv-threadpool.h:
-/root/.node-gyp/6.9.1/include/node/uv-linux.h:
+/home/runuser/.node-gyp/6.9.1/include/node/node_version.h:
+/home/runuser/.node-gyp/6.9.1/include/node/v8.h:
+/home/runuser/.node-gyp/6.9.1/include/node/v8-profiler.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv-errno.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv-version.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv-unix.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv-threadpool.h:
+/home/runuser/.node-gyp/6.9.1/include/node/uv-linux.h:
 ../src/heapdump-posix.h:
diff --git a/node_modules/heapdump/build/addon.target.mk 
b/node_modules/heapdump/build/addon.target.mk
index a08c6df..3531fef 100644
--- a/node_modules/heapdump/build/addon.target.mk
+++ b/node_modules/heapdump/build/addon.target.mk
@@ -34,10 +34,10 @@
        -std=gnu++0x
 
 INCS_Debug := \
-       -I/root/.node-gyp/6.9.1/include/node \
-       -I/root/.node-gyp/6.9.1/src \
-       -I/root/.node-gyp/6.9.1/deps/uv/include \
-       -I/root/.node-gyp/6.9.1/deps/v8/include
+       -I/home/runuser/.node-gyp/6.9.1/include/node \
+       -I/home/runuser/.node-gyp/6.9.1/src \
+       -I/home/runuser/.node-gyp/6.9.1/deps/uv/include \
+       -I/home/runuser/.node-gyp/6.9.1/deps/v8/include
 
 DEFS_Release := \
        '-DNODE_GYP_MODULE_NAME=addon' \
@@ -69,10 +69,10 @@
        -std=gnu++0x
 
 INCS_Release := \
-       -I/root/.node-gyp/6.9.1/include/node \
-       -I/root/.node-gyp/6.9.1/src \
-       -I/root/.node-gyp/6.9.1/deps/uv/include \
-       -I/root/.node-gyp/6.9.1/deps/v8/include
+       -I/home/runuser/.node-gyp/6.9.1/include/node \
+       -I/home/runuser/.node-gyp/6.9.1/src \
+       -I/home/runuser/.node-gyp/6.9.1/deps/uv/include \
+       -I/home/runuser/.node-gyp/6.9.1/deps/v8/include
 
 OBJS := \
        $(obj).target/$(TARGET)/src/heapdump.o
diff --git a/node_modules/heapdump/build/config.gypi 
b/node_modules/heapdump/build/config.gypi
index 4f0311d..f36a239 100644
--- a/node_modules/heapdump/build/config.gypi
+++ b/node_modules/heapdump/build/config.gypi
@@ -57,7 +57,7 @@
     "v8_random_seed": 0,
     "v8_use_snapshot": "true",
     "want_separate_host_toolset": 0,
-    "nodedir": "/root/.node-gyp/6.9.1",
+    "nodedir": "/home/runuser/.node-gyp/6.9.1",
     "copy_dev_lib": "true",
     "standalone_static_library": 1,
     "cache_lock_stale": "60000",
@@ -81,7 +81,7 @@
     "rollback": "true",
     "tag_version_prefix": "v",
     "cache_max": "Infinity",
-    "userconfig": "/root/.npmrc",
+    "userconfig": "/home/runuser/.npmrc",
     "engine_strict": "",
     "init_author_name": "",
     "init_author_url": "",
@@ -104,7 +104,7 @@
     "scope": "",
     "searchopts": "",
     "versions": "",
-    "cache": "/root/.npm",
+    "cache": "/home/runuser/.npm",
     "global_style": "",
     "ignore_scripts": "",
     "searchsort": "name",
@@ -127,7 +127,7 @@
     "unicode": "",
     "long": "",
     "production": "",
-    "unsafe_perm": "",
+    "unsafe_perm": "true",
     "node_version": "6.9.1",
     "tag": "latest",
     "git_tag_version": "true",
@@ -139,12 +139,12 @@
     "strict_ssl": "true",
     "dev": "",
     "globalconfig": "/usr/local/nvm/versions/node/v6.9.1/etc/npmrc",
-    "init_module": "/root/.npm-init.js",
+    "init_module": "/home/runuser/.npm-init.js",
     "parseable": "",
     "globalignorefile": "/usr/local/nvm/versions/node/v6.9.1/etc/npmignore",
     "cache_lock_retries": "10",
     "save_prefix": "^",
-    "group": "",
+    "group": "1000",
     "init_author_email": "",
     "searchexclude": "",
     "git": "git",
diff --git a/node_modules/json-stable-stringify/package.json 
b/node_modules/json-stable-stringify/package.json
index ac4ff64..9d3ac39 100644
--- a/node_modules/json-stable-stringify/package.json
+++ b/node_modules/json-stable-stringify/package.json
@@ -51,7 +51,7 @@
     "/restbase-mod-table-cassandra"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/json-stable-stringify.git#c05178e4dfc3834017f017732934c1c52ba3dd8f";,
-  "_shasum": "3f0b6d3c4c2082e1baedf4c7fbdf9e5c8e629f43",
+  "_shasum": "8038588ff4a490d27f1a73b4f3ed20eda2587a19",
   "_shrinkwrap": null,
   "_spec": 
"json-stable-stringify@git+https://github.com/wikimedia/json-stable-stringify.git#master";,
   "_where": "/opt/service",
diff --git a/node_modules/kad/package.json b/node_modules/kad/package.json
index 84ac6d8..6f7c842 100644
--- a/node_modules/kad/package.json
+++ b/node_modules/kad/package.json
@@ -49,7 +49,7 @@
     "/limitation"
   ],
   "_resolved": 
"git+https://github.com/gwicke/kad.git#f35971036f43814043245da82b12d035b7bbfd16";,
-  "_shasum": "8a6985bc397404cee47482e8fc10d1598dc55710",
+  "_shasum": "cb8e1ae4658bcc3d72c3824352167da831920305",
   "_shrinkwrap": null,
   "_spec": "kad@git+https://github.com/gwicke/kad.git#master";,
   "_where": "/opt/service/node_modules/limitation",
diff --git a/node_modules/normalize-package-data/test/normalize.js~ 
b/node_modules/normalize-package-data/test/normalize.js~
deleted file mode 100644
index de6f1ce..0000000
--- a/node_modules/normalize-package-data/test/normalize.js~
+++ /dev/null
@@ -1,253 +0,0 @@
-var tap = require("tap")
-var fs = require("fs")
-var path = require("path")
-
-var globals = Object.keys(global)
-
-var normalize = require("../lib/normalize")
-var warningMessages = require("../lib/warning_messages.json")
-var safeFormat = require("../lib/safe_format")
-
-var rpjPath = path.resolve(__dirname,"./fixtures/read-package-json.json")
-
-tap.test("normalize some package data", function(t) {
-  var packageData = require(rpjPath)
-  var warnings = []
-  normalize(packageData, function(warning) {
-    warnings.push(warning)
-  })
-  // there's no readme data in this particular object
-  t.equal( warnings.length, 1, "There's exactly one warning.")
-  fs.readFile(rpjPath, function(err, data) {
-    if(err) throw err
-    // Various changes have been made
-    t.notEqual(packageData, JSON.parse(data), "Output is different from 
input.")
-    t.end()
-  })
-})
-
-tap.test("runs without passing warning function", function(t) {
-  var packageData = require(rpjPath)
-  fs.readFile(rpjPath, function(err, data) {
-    if(err) throw err
-    normalize(JSON.parse(data))
-    t.ok(true, "If you read this, this means I'm still alive.")
-    t.end()
-  })
-})
-
-tap.test("empty object", function(t) {
-  var packageData = {}
-  var expect =
-    { name: '',
-      version: '',
-      readme: 'ERROR: No README data found!',
-      _id: '@' }
-
-  var warnings = []
-  function warn(m) {
-    warnings.push(m)
-  }
-  normalize(packageData, warn)
-  t.same(packageData, expect)
-  t.same(warnings, [
-    warningMessages.missingDescription,
-    warningMessages.missingRepository,
-    warningMessages.missingReadme,
-    warningMessages.missingLicense
-  ])
-  t.end()
-})
-
-tap.test("core module name", function(t) {
-  var warnings = []
-  function warn(m) {
-    warnings.push(m)
-  }
-  var a
-  normalize(a={
-    name: "http",
-    readme: "read yourself how about",
-    homepage: 123,
-    bugs: "what is this i don't even",
-    repository: "Hello."
-  }, warn)
-
-  var expect = [
-      safeFormat(warningMessages.conflictingName, 'http'),
-      warningMessages.nonEmailUrlBugsString,
-      warningMessages.emptyNormalizedBugs,
-      warningMessages.nonUrlHomepage,
-      warningMessages.missingLicense
-      ]
-  t.same(warnings, expect)
-  t.end()
-})
-
-tap.test("urls required", function(t) {
-  var warnings = []
-  function warn(w) {
-    warnings.push(w)
-  }
-  normalize({
-    bugs: {
-      url: "/1",
-      email: "not an email address"
-    }
-  }, warn)
-  var a
-  normalize(a={
-    readme: "read yourself how about",
-    homepage: 123,
-    bugs: "what is this i don't even",
-    repository: "Hello."
-  }, warn)
-
-  console.error(a)
-
-  var expect =
-    [ warningMessages.missingDescription,
-      warningMessages.missingRepository,
-      warningMessages.nonUrlBugsUrlField,
-      warningMessages.nonEmailBugsEmailField,
-      warningMessages.emptyNormalizedBugs,
-      warningMessages.missingReadme,
-      warningMessages.missingLicense,
-      warningMessages.nonEmailUrlBugsString,
-      warningMessages.emptyNormalizedBugs,
-      warningMessages.nonUrlHomepage,
-      warningMessages.missingLicense]
-  t.same(warnings, expect)
-  t.end()
-})
-
-tap.test("homepage field must start with a protocol.", function(t) {
-  var warnings = []
-  function warn(w) {
-    warnings.push(w)
-  }
-  var a
-  normalize(a={
-    homepage: 'example.org'
-  }, warn)
-
-  console.error(a)
-
-  var expect =
-    [ warningMessages.missingDescription,
-      warningMessages.missingRepository,
-      warningMessages.missingReadme,
-      warningMessages.missingProtocolHomepage,
-      warningMessages.missingLicense]
-  t.same(warnings, expect)
-  t.same(a.homepage, 'http://example.org')
-  t.end()
-})
-
-tap.test("license field should be a valid SPDX expression", function(t) {
-  var warnings = []
-  function warn(w) {
-    warnings.push(w)
-  }
-  var a
-  normalize(a={
-    license: 'Apache 2'
-  }, warn)
-
-  console.error(a)
-
-  var expect =
-    [ warningMessages.missingDescription,
-      warningMessages.missingRepository,
-      warningMessages.missingReadme,
-      warningMessages.invalidLicense]
-  t.same(warnings, expect)
-  t.end()
-})
-
-tap.test("gist bugs url", function(t) {
-  var d = {
-    repository: "g...@gist.github.com:123456.git"
-  }
-  normalize(d)
-  t.same(d.repository, { type: 'git', url: 
'git+ssh://g...@gist.github.com/123456.git' })
-  t.same(d.bugs, { url: 'https://gist.github.com/123456' })
-  t.end();
-});
-
-tap.test("singularize repositories", function(t) {
-  var d = {repositories:["g...@gist.github.com:123456.git"]}
-  normalize(d)
-  t.same(d.repository, { type: 'git', url: 
'git+ssh://g...@gist.github.com/123456.git' })
-  t.end()
-});
-
-tap.test("treat visionmedia/express as github repo", function(t) {
-  var d = {repository: {type: "git", url: "visionmedia/express"}}
-  normalize(d)
-  t.same(d.repository, { type: "git", url: 
"git+https://github.com/visionmedia/express.git"; })
-  t.end()
-});
-
-tap.test("treat isaacs/node-graceful-fs as github repo", function(t) {
-  var d = {repository: {type: "git", url: "isaacs/node-graceful-fs"}}
-  normalize(d)
-  t.same(d.repository, { type: "git", url: 
"git+https://github.com/isaacs/node-graceful-fs.git"; })
-  t.end()
-});
-
-tap.test("homepage field will set to github url if repository is a github 
repo", function(t) {
-  var a
-  normalize(a={
-    repository: { type: "git", url: 
"https://github.com/isaacs/node-graceful-fs"; }
-  })
-  t.same(a.homepage, 'https://github.com/isaacs/node-graceful-fs#readme')
-  t.end()
-})
-
-tap.test("homepage field will set to github gist url if repository is a gist", 
function(t) {
-  var a
-  normalize(a={
-    repository: { type: "git", url: "g...@gist.github.com:123456.git" }
-  })
-  t.same(a.homepage, 'https://gist.github.com/123456')
-  t.end()
-})
-
-tap.test("homepage field will set to github gist url if repository is a 
shorthand reference", function(t) {
-  var a
-  normalize(a={
-    repository: { type: "git", url: "sindresorhus/chalk" }
-  })
-  t.same(a.homepage, 'https://github.com/sindresorhus/chalk#readme')
-  t.end()
-})
-
-tap.test("don't mangle github shortcuts in dependencies", function(t) {
-  var d = {dependencies: {"node-graceful-fs": "isaacs/node-graceful-fs"}}
-  normalize(d)
-  t.same(d.dependencies, {"node-graceful-fs": "github:isaacs/node-graceful-fs" 
})
-  t.end()
-});
-
-tap.test("deprecation warning for array in dependencies fields", function(t) {
-  var a
-  var warnings = []
-  function warn(w) {
-    warnings.push(w)
-  }
-  normalize(a={
-    dependencies: [],
-    devDependencies: [],
-    optionalDependencies: []
-  }, warn)
-  
t.ok(~warnings.indexOf(safeFormat(warningMessages.deprecatedArrayDependencies, 
'dependencies')), "deprecation warning")
-  
t.ok(~warnings.indexOf(safeFormat(warningMessages.deprecatedArrayDependencies, 
'devDependencies')), "deprecation warning")
-  
t.ok(~warnings.indexOf(safeFormat(warningMessages.deprecatedArrayDependencies, 
'optionalDependencies')), "deprecation warning")
-  t.end()
-})
-
-tap.test('no new globals', function(t) {
-  t.same(Object.keys(global), globals)
-  t.end()
-})
diff --git a/node_modules/restbase-mod-table-cassandra/lib/db.js 
b/node_modules/restbase-mod-table-cassandra/lib/db.js
index 8720a93..d9d5d08 100644
--- a/node_modules/restbase-mod-table-cassandra/lib/db.js
+++ b/node_modules/restbase-mod-table-cassandra/lib/db.js
@@ -375,6 +375,12 @@
             });
         }
 
+        if (schema.revisionRetentionPolicy
+                && schema.revisionRetentionPolicy.type === 'latest'
+                && schema.revisionRetentionPolicy.count === 0) {
+            req.ttl = schema.revisionRetentionPolicy.grace_ttl;
+        }
+
         batch.push(dbu.buildPutQuery(req));
 
         const queryOptions = { consistency: req.consistency, prepare: true };
@@ -1024,7 +1030,10 @@
     // there are no revisions to cull), then there is no need to run
     // background updates.
     return indexes.length
-        || schema.revisionRetentionPolicy && 
schema.revisionRetentionPolicy.type !== 'all';
+        || schema.revisionRetentionPolicy
+            && schema.revisionRetentionPolicy.type !== 'all'
+            && !(schema.revisionRetentionPolicy.type === 'latest'
+                && schema.revisionRetentionPolicy.count === 0);
 };
 
 module.exports = DB;
diff --git a/node_modules/restbase-mod-table-cassandra/lib/dbutils.js 
b/node_modules/restbase-mod-table-cassandra/lib/dbutils.js
index 34f4bd6..4b83578 100644
--- a/node_modules/restbase-mod-table-cassandra/lib/dbutils.js
+++ b/node_modules/restbase-mod-table-cassandra/lib/dbutils.js
@@ -77,7 +77,7 @@
         .digest()
         .toString('base64')
         // Replace [+/] from base64 with _ (illegal in Cassandra)
-        .replace(/[+\/]/g, '_')
+        .replace(/[+/]/g, '_')
         // Remove base64 padding, has no entropy
         .replace(/=+$/, '');
 };
diff --git a/node_modules/restbase-mod-table-cassandra/lib/revisionPolicy.js 
b/node_modules/restbase-mod-table-cassandra/lib/revisionPolicy.js
index ecc8af6..e434e14 100644
--- a/node_modules/restbase-mod-table-cassandra/lib/revisionPolicy.js
+++ b/node_modules/restbase-mod-table-cassandra/lib/revisionPolicy.js
@@ -17,7 +17,8 @@
         this.schema = schema;
         this.policy = schema.revisionRetentionPolicy;
         this.request = dbu.makeRawRequest(request, { ttl: 
this.policy.grace_ttl });
-        this.noop = this.policy.type === 'all';
+        this.noop = this.policy.type === 'all' ||
+            (this.policy.type === 'latest' && this.policy.count === 0);
         this.count = 0;
         if (this.policy.type === 'interval') {
             const interval = this.policy.interval * 1000;
diff --git a/node_modules/restbase-mod-table-cassandra/package.json 
b/node_modules/restbase-mod-table-cassandra/package.json
index 039f241..65d9ea4 100644
--- a/node_modules/restbase-mod-table-cassandra/package.json
+++ b/node_modules/restbase-mod-table-cassandra/package.json
@@ -2,25 +2,25 @@
   "_args": [
     [
       {
-        "raw": "restbase-mod-table-cassandra@^0.10.2",
+        "raw": "restbase-mod-table-cassandra@^0.10.3",
         "scope": null,
         "escapedName": "restbase-mod-table-cassandra",
         "name": "restbase-mod-table-cassandra",
-        "rawSpec": "^0.10.2",
-        "spec": ">=0.10.2 <0.11.0",
+        "rawSpec": "^0.10.3",
+        "spec": ">=0.10.3 <0.11.0",
         "type": "range"
       },
       "/opt/service"
     ]
   ],
-  "_from": "restbase-mod-table-cassandra@>=0.10.2 <0.11.0",
-  "_id": "restbase-mod-table-cassandra@0.10.2",
+  "_from": "restbase-mod-table-cassandra@>=0.10.3 <0.11.0",
+  "_id": "restbase-mod-table-cassandra@0.10.3",
   "_inCache": true,
   "_location": "/restbase-mod-table-cassandra",
-  "_nodeVersion": "4.4.6",
+  "_nodeVersion": "6.9.1",
   "_npmOperationalInternal": {
-    "host": "packages-12-west.internal.npmjs.com",
-    "tmp": 
"tmp/restbase-mod-table-cassandra-0.10.2.tgz_1475583742656_0.16769971558824182"
+    "host": "packages-18-east.internal.npmjs.com",
+    "tmp": 
"tmp/restbase-mod-table-cassandra-0.10.3.tgz_1485295055292_0.20077536185272038"
   },
   "_npmUser": {
     "name": "doorman",
@@ -29,21 +29,21 @@
   "_npmVersion": "3.10.8",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "restbase-mod-table-cassandra@^0.10.2",
+    "raw": "restbase-mod-table-cassandra@^0.10.3",
     "scope": null,
     "escapedName": "restbase-mod-table-cassandra",
     "name": "restbase-mod-table-cassandra",
-    "rawSpec": "^0.10.2",
-    "spec": ">=0.10.2 <0.11.0",
+    "rawSpec": "^0.10.3",
+    "spec": ">=0.10.3 <0.11.0",
     "type": "range"
   },
   "_requiredBy": [
     "/"
   ],
-  "_resolved": 
"https://registry.npmjs.org/restbase-mod-table-cassandra/-/restbase-mod-table-cassandra-0.10.2.tgz";,
-  "_shasum": "6c000ee849b17e881a37fbcb75e44be774284817",
+  "_resolved": 
"https://registry.npmjs.org/restbase-mod-table-cassandra/-/restbase-mod-table-cassandra-0.10.3.tgz";,
+  "_shasum": "ff44c96ec3a12323a36b6878123cbd7577dac6aa",
   "_shrinkwrap": null,
-  "_spec": "restbase-mod-table-cassandra@^0.10.2",
+  "_spec": "restbase-mod-table-cassandra@^0.10.3",
   "_where": "/opt/service",
   "bugs": {
     "url": "https://github.com/wikimedia/restbase-mod-table-cassandra/issues";
@@ -72,10 +72,10 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "6c000ee849b17e881a37fbcb75e44be774284817",
-    "tarball": 
"https://registry.npmjs.org/restbase-mod-table-cassandra/-/restbase-mod-table-cassandra-0.10.2.tgz";
+    "shasum": "ff44c96ec3a12323a36b6878123cbd7577dac6aa",
+    "tarball": 
"https://registry.npmjs.org/restbase-mod-table-cassandra/-/restbase-mod-table-cassandra-0.10.3.tgz";
   },
-  "gitHead": "71d00a7efbd98a8a9394aa0f1d21ef9b44b4f51e",
+  "gitHead": "48e2095bdf8087262f9d01b0f769122e6be17b70",
   "homepage": 
"https://github.com/wikimedia/restbase-mod-table-cassandra#readme";,
   "license": "Apache-2.0",
   "maintainers": [
@@ -108,5 +108,5 @@
     "coveralls": "cat ./coverage/lcov.info | coveralls",
     "test": "mocha"
   },
-  "version": "0.10.2"
+  "version": "0.10.3"
 }
diff --git a/node_modules/swagger-ui/package.json 
b/node_modules/swagger-ui/package.json
index d29aa8e..27d6b39 100644
--- a/node_modules/swagger-ui/package.json
+++ b/node_modules/swagger-ui/package.json
@@ -49,7 +49,7 @@
     "/hyperswitch"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/swagger-ui.git#b9b40dc8e00caeb24c19fe636b93250a7e335541";,
-  "_shasum": "bc40621eeaff75042e1bbd22caa9a80a3f44acbb",
+  "_shasum": "a854bebd82c1f3c97f65aeb835a0ab6adfb662a8",
   "_shrinkwrap": null,
   "_spec": "swagger-ui@git+https://github.com/wikimedia/swagger-ui.git#master";,
   "_where": "/opt/service/node_modules/hyperswitch",
diff --git a/restbase b/restbase
index 5d1d44f..000942f 160000
--- a/restbase
+++ b/restbase
@@ -1 +1 @@
-Subproject commit 5d1d44fabf7c129c9a2cffb6b1cf638f09619ec8
+Subproject commit 000942fd4ac549736ad22b60dea9aac50299cf5a

-- 
To view, visit https://gerrit.wikimedia.org/r/333990
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9a64fd0c2b7368d688e3714c3e24c4010fdcc0c9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/restbase/deploy
Gerrit-Branch: master
Gerrit-Owner: Mobrovac <mobro...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to