csantanapr closed pull request #173: loosen restrictions on redis values
URL: https://github.com/apache/incubator-openwhisk-package-cloudant/pull/173
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/provider/lib/active.js b/provider/lib/active.js
index 9f8a0fc..cbc5017 100644
--- a/provider/lib/active.js
+++ b/provider/lib/active.js
@@ -28,10 +28,10 @@ module.exports = function(logger, utils) {
             var activeHost = query === 'true' ? utils.host : redundantHost;
             if (utils.activeHost !== activeHost) {
                 if (utils.redisClient) {
-                    utils.redisClient.hsetAsync(utils.redisHash, 
utils.redisKey, activeHost)
+                    utils.redisClient.hsetAsync(utils.redisKey, 
utils.redisField, activeHost)
                     .then(() => {
                         response.active = 'swapping';
-                        utils.redisClient.publish(utils.redisHash, activeHost);
+                        utils.redisClient.publish(utils.redisKey, activeHost);
                         logger.info(method, 'Active host swap in progress');
                         res.send(response);
                     })
diff --git a/provider/lib/constants.js b/provider/lib/constants.js
index 539fd99..305f1c7 100644
--- a/provider/lib/constants.js
+++ b/provider/lib/constants.js
@@ -2,7 +2,7 @@ const TRIGGER_DB_SUFFIX = 'cloudanttrigger';
 const DEFAULT_MAX_TRIGGERS = -1;
 const RETRY_ATTEMPTS = 12;
 const RETRY_DELAY = 1000; //in milliseconds
-const REDIS_KEY = 'active';
+const REDIS_FIELD = 'active';
 const FILTERS_DESIGN_DOC = 'triggerFilters';
 const VIEWS_DESIGN_DOC = 'triggerViews';
 const MONITOR_DESIGN_DOC = 'monitorFilters';
@@ -16,7 +16,7 @@ module.exports = {
     DEFAULT_MAX_TRIGGERS: DEFAULT_MAX_TRIGGERS,
     RETRY_ATTEMPTS: RETRY_ATTEMPTS,
     RETRY_DELAY: RETRY_DELAY,
-    REDIS_KEY: REDIS_KEY,
+    REDIS_FIELD: REDIS_FIELD,
     FILTERS_DESIGN_DOC: FILTERS_DESIGN_DOC,
     VIEWS_DESIGN_DOC: VIEWS_DESIGN_DOC,
     TRIGGERS_BY_WORKER: TRIGGERS_BY_WORKER,
diff --git a/provider/lib/health.js b/provider/lib/health.js
index b13d6ad..c2055a3 100644
--- a/provider/lib/health.js
+++ b/provider/lib/health.js
@@ -14,7 +14,6 @@ module.exports = function(logger, utils) {
     var canaryDocID;
     var monitorStatus;
     var monitorStages = ['triggerStarted', 'triggerFired', 'triggerStopped'];
-    var healthMonitor = this;
 
     // Health Logic
     this.health = function (req, res) {
@@ -65,10 +64,10 @@ module.exports = function(logger, utils) {
 
             //delete the trigger
             var uri = utils.uriHost + '/api/v1/namespaces/_/triggers/' + 
triggerName;
-            healthMonitor.deleteTrigger(existingTriggerID, uri, auth, 0);
+            deleteTrigger(existingTriggerID, uri, auth, 0);
 
             //delete the canary doc
-            healthMonitor.deleteDocFromDB(existingCanaryID, 0);
+            deleteDocFromDB(existingCanaryID, 0);
         }
 
         //create new cloudant trigger and canary doc
@@ -82,17 +81,17 @@ module.exports = function(logger, utils) {
 
         var triggerURL = utils.uriHost + '/api/v1/namespaces/_/triggers/' + 
triggerName;
         var triggerID = `:_:${triggerName}`;
-        healthMonitor.createTrigger(triggerURL, auth)
+        createTrigger(triggerURL, auth)
         .then(info => {
             logger.info(method, triggerID, info);
-            var newTrigger = healthMonitor.createCloudantTrigger(triggerID, 
apikey);
+            var newTrigger = createCloudantTrigger(triggerID, apikey);
             utils.createTrigger(newTrigger);
             setTimeout(function () {
                 var canaryDoc = {
                     isCanaryDoc: true,
                     host: utils.host
                 };
-                healthMonitor.createDocInDB(canaryDocID, canaryDoc);
+                createDocInDB(canaryDocID, canaryDoc);
             }, monitoringInterval / 3);
         })
         .catch(err => {
@@ -100,7 +99,7 @@ module.exports = function(logger, utils) {
         });
     };
 
-    this.createCloudantTrigger = function(triggerID, apikey) {
+    function createCloudantTrigger(triggerID, apikey) {
         var method = 'createCloudantTrigger';
 
         var dbURL = new URL(utils.db.config.url);
@@ -125,9 +124,9 @@ module.exports = function(logger, utils) {
         };
 
         return newTrigger;
-    };
+    }
 
-    this.createTrigger = function(triggerURL, auth) {
+    function createTrigger(triggerURL, auth) {
         var method = 'createTrigger';
 
         return new Promise(function(resolve, reject) {
@@ -149,9 +148,9 @@ module.exports = function(logger, utils) {
                 }
             });
         });
-    };
+    }
 
-    this.createDocInDB = function(docID, doc) {
+    function createDocInDB(docID, doc) {
         var method = 'createDocInDB';
 
         utils.db.insert(doc, docID, function (err) {
@@ -162,9 +161,9 @@ module.exports = function(logger, utils) {
                 logger.error(method, docID, err);
             }
         });
-    };
+    }
 
-    this.deleteTrigger = function(triggerID, uri, auth, retryCount) {
+    function deleteTrigger(triggerID, uri, auth, retryCount) {
         var method = 'deleteTrigger';
 
         request({
@@ -180,7 +179,7 @@ module.exports = function(logger, utils) {
                 if (!error && response.statusCode === 409 && retryCount < 5) {
                     logger.info(method, 'attempting to delete trigger again', 
triggerID, 'Retry Count:', (retryCount + 1));
                     setTimeout(function () {
-                        healthMonitor.deleteTrigger(triggerID, uri, auth, 
(retryCount + 1));
+                        deleteTrigger(triggerID, uri, auth, (retryCount + 1));
                     }, 1000);
                 } else {
                     logger.error(method, triggerID, 'trigger delete request 
failed');
@@ -190,9 +189,9 @@ module.exports = function(logger, utils) {
                 logger.info(method, triggerID, 'trigger delete request was 
successful');
             }
         });
-    };
+    }
 
-    this.deleteDocFromDB = function(docID, retryCount) {
+    function deleteDocFromDB(docID, retryCount) {
         var method = 'deleteDocFromDB';
 
         //delete from database
@@ -202,7 +201,7 @@ module.exports = function(logger, utils) {
                     if (err) {
                         if (err.statusCode === 409 && retryCount < 5) {
                             setTimeout(function () {
-                                healthMonitor.deleteDocFromDB(docID, 
(retryCount + 1));
+                                deleteDocFromDB(docID, (retryCount + 1));
                             }, 1000);
                         }
                         else {
@@ -218,6 +217,6 @@ module.exports = function(logger, utils) {
                 logger.error(method, docID, 'could not be found in the 
database');
             }
         });
-    };
+    }
 
 };
diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index fb5c3dc..1256d59 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -4,6 +4,13 @@ var constants = require('./constants.js');
 
 module.exports = function(logger, triggerDB, redisClient) {
 
+    var retryAttempts = constants.RETRY_ATTEMPTS;
+    var filterDDName = constants.FILTERS_DESIGN_DOC;
+    var viewDDName = constants.VIEWS_DESIGN_DOC;
+    var triggersByWorker = constants.TRIGGERS_BY_WORKER;
+    var redisKeyPrefix = process.env.REDIS_KEY_PREFIX || triggerDB.config.db;
+    var self = this;
+
     this.triggers = {};
     this.endpointAuth = process.env.ENDPOINT_AUTH;
     this.routerHost = process.env.ROUTER_HOST || 'localhost';
@@ -12,17 +19,11 @@ module.exports = function(logger, triggerDB, redisClient) {
     this.activeHost = 'host0'; //default value on init (will be updated for 
existing redis)
     this.db = triggerDB;
     this.redisClient = redisClient;
-    this.redisHash = this.db.config.db + '_' + this.worker;
-    this.redisKey = constants.REDIS_KEY;
+    this.redisKey = redisKeyPrefix + '_' + this.worker;
+    this.redisField = constants.REDIS_FIELD;
     this.uriHost ='https://' + this.routerHost;
     this.monitorStatus = {};
 
-    var retryAttempts = constants.RETRY_ATTEMPTS;
-    var filterDDName = constants.FILTERS_DESIGN_DOC;
-    var viewDDName = constants.VIEWS_DESIGN_DOC;
-    var triggersByWorker = constants.TRIGGERS_BY_WORKER;
-    var utils = this;
-
     // Add a trigger: listen for changes and dispatch.
     this.createTrigger = function(dataTrigger) {
         var method = 'createTrigger';
@@ -49,14 +50,14 @@ module.exports = function(logger, triggerDB, redisClient) {
             }
 
             dataTrigger.feed = feed;
-            utils.triggers[dataTrigger.id] = dataTrigger;
+            self.triggers[dataTrigger.id] = dataTrigger;
 
             feed.on('change', function (change) {
-                var triggerHandle = utils.triggers[dataTrigger.id];
-                if (triggerHandle && utils.shouldFireTrigger(triggerHandle) && 
utils.hasTriggersRemaining(triggerHandle)) {
+                var triggerHandle = self.triggers[dataTrigger.id];
+                if (triggerHandle && shouldFireTrigger(triggerHandle) && 
hasTriggersRemaining(triggerHandle)) {
                     logger.info(method, 'Trigger', dataTrigger.id, 'got change 
from', dataTrigger.dbname);
                     try {
-                        utils.fireTrigger(dataTrigger.id, change);
+                        fireTrigger(dataTrigger.id, change);
                     } catch (e) {
                         logger.error(method, 'Exception occurred while firing 
trigger', dataTrigger.id, e);
                     }
@@ -73,8 +74,8 @@ module.exports = function(logger, triggerDB, redisClient) {
 
                 feed.on('confirm', function () {
                     logger.info(method, 'Added cloudant data trigger', 
dataTrigger.id, 'listening for changes in database', dataTrigger.dbname);
-                    if (utils.isMonitoringTrigger(dataTrigger.monitor, 
dataTrigger.id)) {
-                        utils.monitorStatus.triggerStarted = "success";
+                    if (isMonitoringTrigger(dataTrigger.monitor, 
dataTrigger.id)) {
+                        self.monitorStatus.triggerStarted = "success";
                     }
                     resolve(dataTrigger.id);
                 });
@@ -87,7 +88,7 @@ module.exports = function(logger, triggerDB, redisClient) {
 
     };
 
-    this.initTrigger = function(newTrigger) {
+    function initTrigger(newTrigger) {
         var maxTriggers = newTrigger.maxTriggers || 
constants.DEFAULT_MAX_TRIGGERS;
 
         var trigger = {
@@ -107,26 +108,26 @@ module.exports = function(logger, triggerDB, redisClient) 
{
         };
 
         return trigger;
-    };
+    }
 
-    this.shouldDisableTrigger = function(statusCode) {
+    function shouldDisableTrigger(statusCode) {
         return ((statusCode >= 400 && statusCode < 500) &&
             [HttpStatus.REQUEST_TIMEOUT, 
HttpStatus.TOO_MANY_REQUESTS].indexOf(statusCode) === -1);
-    };
+    }
 
-    this.shouldFireTrigger = function(trigger) {
-        return trigger.monitor || utils.activeHost === utils.host;
-    };
+    function shouldFireTrigger(trigger) {
+        return trigger.monitor || self.activeHost === self.host;
+    }
 
-    this.hasTriggersRemaining = function(trigger) {
+    function hasTriggersRemaining(trigger) {
         return !trigger.maxTriggers || trigger.maxTriggers === -1 || 
trigger.triggersLeft > 0;
-    };
+    }
 
-    this.isMonitoringTrigger = function(monitor, triggerIdentifier) {
-        return monitor && utils.monitorStatus.triggerName === 
utils.parseQName(triggerIdentifier).name;
-    };
+    function isMonitoringTrigger(monitor, triggerIdentifier) {
+        return monitor && self.monitorStatus.triggerName === 
parseQName(triggerIdentifier).name;
+    }
 
-    this.disableTrigger = function(id, statusCode, message) {
+    function disableTrigger(id, statusCode, message) {
         var method = 'disableTrigger';
 
         triggerDB.get(id, function (err, existing) {
@@ -153,56 +154,56 @@ module.exports = function(logger, triggerDB, redisClient) 
{
             else {
                 logger.info(method, 'could not find', id, 'in database');
                 //make sure it is removed from memory as well
-                utils.deleteTrigger(id);
+                deleteTrigger(id);
             }
         });
-    };
+    }
 
     // Delete a trigger: stop listening for changes and remove it.
-    this.deleteTrigger = function(triggerIdentifier, isMonitoringTrigger) {
+    function deleteTrigger(triggerIdentifier, monitorTrigger) {
         var method = 'deleteTrigger';
 
-        if (utils.triggers[triggerIdentifier]) {
-            if (utils.triggers[triggerIdentifier].feed) {
-                utils.triggers[triggerIdentifier].feed.stop();
+        if (self.triggers[triggerIdentifier]) {
+            if (self.triggers[triggerIdentifier].feed) {
+                self.triggers[triggerIdentifier].feed.stop();
             }
 
-            delete utils.triggers[triggerIdentifier];
+            delete self.triggers[triggerIdentifier];
             logger.info(method, 'trigger', triggerIdentifier, 'successfully 
deleted from memory');
 
-            if (utils.isMonitoringTrigger(isMonitoringTrigger, 
triggerIdentifier)) {
-                utils.monitorStatus.triggerStopped = "success";
+            if (isMonitoringTrigger(monitorTrigger, triggerIdentifier)) {
+                self.monitorStatus.triggerStopped = "success";
             }
         }
-    };
+    }
 
-    this.fireTrigger = function(triggerIdentifier, change) {
+    function fireTrigger(triggerIdentifier, change) {
         var method = 'fireTrigger';
 
-        var dataTrigger = utils.triggers[triggerIdentifier];
-        var triggerObj = utils.parseQName(dataTrigger.id);
+        var dataTrigger = self.triggers[triggerIdentifier];
+        var triggerObj = parseQName(dataTrigger.id);
 
         var form = change;
         form.dbname = dataTrigger.dbname;
 
         logger.info(method, 'firing trigger', dataTrigger.id, 'with db 
update');
 
-        var host = 'https://' + utils.routerHost + ':' + 443;
+        var host = 'https://' + self.routerHost + ':' + 443;
         var uri = host + '/api/v1/namespaces/' + triggerObj.namespace + 
'/triggers/' + triggerObj.name;
         var auth = dataTrigger.apikey.split(':');
 
-        utils.postTrigger(dataTrigger, form, uri, auth, 0)
+        postTrigger(dataTrigger, form, uri, auth, 0)
         .then(triggerId => {
             logger.info(method, 'Trigger', triggerId, 'was successfully 
fired');
-            if (utils.isMonitoringTrigger(dataTrigger.monitor, triggerId)) {
-                utils.monitorStatus.triggerFired = "success";
+            if (isMonitoringTrigger(dataTrigger.monitor, triggerId)) {
+                self.monitorStatus.triggerFired = "success";
             }
             if (dataTrigger.triggersLeft === 0) {
                 if (dataTrigger.monitor) {
-                    utils.deleteTrigger(triggerId, dataTrigger.monitor);
+                    deleteTrigger(triggerId, dataTrigger.monitor);
                 }
                 else {
-                    utils.disableTrigger(triggerId, undefined, 'Automatically 
disabled after reaching max triggers');
+                    disableTrigger(triggerId, undefined, 'Automatically 
disabled after reaching max triggers');
                     logger.warn(method, 'no more triggers left, disabled', 
triggerId);
                 }
             }
@@ -210,9 +211,9 @@ module.exports = function(logger, triggerDB, redisClient) {
         .catch(err => {
             logger.error(method, err);
         });
-    };
+    }
 
-    this.postTrigger = function(dataTrigger, form, uri, auth, retryCount) {
+    function postTrigger(dataTrigger, form, uri, auth, retryCount) {
         var method = 'postTrigger';
 
         return new Promise(function(resolve, reject) {
@@ -239,10 +240,10 @@ module.exports = function(logger, triggerDB, redisClient) 
{
                             dataTrigger.triggersLeft++;
                         }
                         logger.error(method, 'there was an error invoking', 
dataTrigger.id, response ? response.statusCode : error);
-                        if (!error && 
utils.shouldDisableTrigger(response.statusCode)) {
+                        if (!error && 
shouldDisableTrigger(response.statusCode)) {
                             //disable trigger
                             var message = 'Automatically disabled after 
receiving a ' + response.statusCode + ' status code when firing the trigger';
-                            utils.disableTrigger(dataTrigger.id, 
response.statusCode, message);
+                            disableTrigger(dataTrigger.id, 
response.statusCode, message);
                             reject('Disabled trigger ' + dataTrigger.id + ' 
due to status code: ' + response.statusCode);
                         }
                         else {
@@ -250,7 +251,7 @@ module.exports = function(logger, triggerDB, redisClient) {
                                 var timeout = response && response.statusCode 
=== 429 && retryCount === 0 ? 60000 : 1000 * Math.pow(retryCount + 1, 2);
                                 logger.info(method, 'attempting to fire 
trigger again', dataTrigger.id, 'Retry Count:', (retryCount + 1));
                                 setTimeout(function () {
-                                    utils.postTrigger(dataTrigger, form, uri, 
auth, (retryCount + 1))
+                                    postTrigger(dataTrigger, form, uri, auth, 
(retryCount + 1))
                                     .then(triggerId => {
                                         resolve(triggerId);
                                     })
@@ -272,25 +273,25 @@ module.exports = function(logger, triggerDB, redisClient) 
{
                 }
             });
         });
-    };
+    }
 
     this.initAllTriggers = function() {
         var method = 'initAllTriggers';
 
         //follow the trigger DB
-        utils.setupFollow('now');
+        setupFollow('now');
 
         logger.info(method, 'resetting system from last state');
-        triggerDB.view(viewDDName, triggersByWorker, {reduce: false, 
include_docs: true, key: utils.worker}, function(err, body) {
+        triggerDB.view(viewDDName, triggersByWorker, {reduce: false, 
include_docs: true, key: self.worker}, function(err, body) {
             if (!err) {
                 body.rows.forEach(function (trigger) {
                     var triggerIdentifier = trigger.id;
                     var doc = trigger.doc;
 
-                    if (!(triggerIdentifier in utils.triggers)) {
+                    if (!(triggerIdentifier in self.triggers)) {
                         //check if trigger still exists in whisk db
-                        var triggerObj = utils.parseQName(triggerIdentifier);
-                        var host = 'https://' + utils.routerHost + ':' + 443;
+                        var triggerObj = parseQName(triggerIdentifier);
+                        var host = 'https://' + self.routerHost + ':' + 443;
                         var triggerURL = host + '/api/v1/namespaces/' + 
triggerObj.namespace + '/triggers/' + triggerObj.name;
                         var auth = doc.apikey.split(':');
 
@@ -304,19 +305,19 @@ module.exports = function(logger, triggerDB, redisClient) 
{
                             }
                         }, function (error, response) {
                             //disable trigger in database if trigger is dead
-                            if (!error && 
utils.shouldDisableTrigger(response.statusCode)) {
+                            if (!error && 
shouldDisableTrigger(response.statusCode)) {
                                 var message = 'Automatically disabled after 
receiving a ' + response.statusCode + ' status code on init trigger';
-                                utils.disableTrigger(triggerIdentifier, 
response.statusCode, message);
+                                disableTrigger(triggerIdentifier, 
response.statusCode, message);
                                 logger.error(method, 'trigger', 
triggerIdentifier, 'has been disabled due to status code:', 
response.statusCode);
                             }
                             else {
-                                utils.createTrigger(utils.initTrigger(doc))
+                                self.createTrigger(initTrigger(doc))
                                 .then(triggerIdentifier => {
                                     logger.info(method, triggerIdentifier, 
'created successfully');
                                 })
                                 .catch(err => {
                                     var message = 'Automatically disabled 
after receiving exception on init trigger: ' + err;
-                                    utils.disableTrigger(triggerIdentifier, 
undefined, message);
+                                    disableTrigger(triggerIdentifier, 
undefined, message);
                                     logger.error(method, 'Disabled trigger', 
triggerIdentifier, 'due to exception:', err);
                                 });
                             }
@@ -329,7 +330,7 @@ module.exports = function(logger, triggerDB, redisClient) {
         });
     };
 
-    this.setupFollow = function(seq) {
+    function setupFollow(seq) {
         var method = 'setupFollow';
 
         try {
@@ -337,28 +338,28 @@ module.exports = function(logger, triggerDB, redisClient) 
{
                 since: seq,
                 include_docs: true,
                 filter: filterDDName + '/' + triggersByWorker,
-                query_params: {worker: utils.worker}
+                query_params: {worker: self.worker}
             });
 
             feed.on('change', (change) => {
                 var triggerIdentifier = change.id;
                 var doc = change.doc;
 
-                if (utils.triggers[triggerIdentifier]) {
+                if (self.triggers[triggerIdentifier]) {
                     if (doc.status && doc.status.active === false) {
-                        utils.deleteTrigger(triggerIdentifier);
+                        deleteTrigger(triggerIdentifier);
                     }
                 }
                 else {
                     //ignore changes to disabled triggers
                     if (!doc.status || doc.status.active === true) {
-                        utils.createTrigger(utils.initTrigger(doc))
+                        self.createTrigger(initTrigger(doc))
                         .then(triggerIdentifier => {
                             logger.info(method, triggerIdentifier, 'created 
successfully');
                         })
                         .catch(err => {
                             var message = 'Automatically disabled after 
receiving exception on create trigger: ' + err;
-                            utils.disableTrigger(triggerIdentifier, undefined, 
message);
+                            disableTrigger(triggerIdentifier, undefined, 
message);
                             logger.error(method, 'Disabled trigger', 
triggerIdentifier, 'due to exception:', err);
                         });
                     }
@@ -374,12 +375,12 @@ module.exports = function(logger, triggerDB, redisClient) 
{
         catch (err) {
             logger.error(method, err);
         }
-    };
+    }
 
     this.authorize = function(req, res, next) {
         var method = 'authorize';
 
-        if (utils.endpointAuth) {
+        if (self.endpointAuth) {
             if (!req.headers.authorization) {
                 res.set('www-authenticate', 'Basic realm="Private"');
                 res.status(HttpStatus.UNAUTHORIZED);
@@ -388,24 +389,24 @@ module.exports = function(logger, triggerDB, redisClient) 
{
 
             var parts = req.headers.authorization.split(' ');
             if (parts[0].toLowerCase() !== 'basic' || !parts[1]) {
-                return utils.sendError(method, HttpStatus.BAD_REQUEST, 
'Malformed request, basic authentication expected', res);
+                return sendError(method, HttpStatus.BAD_REQUEST, 'Malformed 
request, basic authentication expected', res);
             }
 
             var auth = new Buffer(parts[1], 'base64').toString();
             auth = auth.match(/^([^:]*):(.*)$/);
             if (!auth) {
-                return utils.sendError(method, HttpStatus.BAD_REQUEST, 
'Malformed request, authentication invalid', res);
+                return sendError(method, HttpStatus.BAD_REQUEST, 'Malformed 
request, authentication invalid', res);
             }
 
             var uuid = auth[1];
             var key = auth[2];
-            var endpointAuth = utils.endpointAuth.split(':');
+            var endpointAuth = self.endpointAuth.split(':');
             if (endpointAuth[0] === uuid && endpointAuth[1] === key) {
                 next();
             }
             else {
                 logger.warn(method, 'Invalid key');
-                return utils.sendError(method, HttpStatus.UNAUTHORIZED, 
'Invalid key', res);
+                return sendError(method, HttpStatus.UNAUTHORIZED, 'Invalid 
key', res);
             }
         }
         else {
@@ -413,12 +414,12 @@ module.exports = function(logger, triggerDB, redisClient) 
{
         }
     };
 
-    this.sendError = function(method, code, message, res) {
+    function sendError(method, code, message, res) {
         logger.error(method, message);
         res.status(code).json({error: message});
-    };
+    }
 
-    this.parseQName = function(qname, separator) {
+    function parseQName(qname, separator) {
         var parsed = {};
         var delimiter = separator || ':';
         var defaultNamespace = '_';
@@ -431,7 +432,7 @@ module.exports = function(logger, triggerDB, redisClient) {
             parsed.name = qname;
         }
         return parsed;
-    };
+    }
 
     this.initRedis = function() {
         var method = 'initRedis';
@@ -443,10 +444,8 @@ module.exports = function(logger, triggerDB, redisClient) {
 
                 //create a subscriber client that listens for requests to 
perform swap
                 subscriber.on('message', function (channel, message) {
-                    if (message === 'host0' || message === 'host1') {
-                        logger.info(method, message, 'set to active host in 
channel', channel);
-                        utils.activeHost = message;
-                    }
+                    logger.info(method, message, 'set to active host in 
channel', channel);
+                    self.activeHost = message;
                 });
 
                 subscriber.on('error', function (err) {
@@ -454,19 +453,19 @@ module.exports = function(logger, triggerDB, redisClient) 
{
                     reject(err);
                 });
 
-                subscriber.subscribe(utils.redisHash);
+                subscriber.subscribe(self.redisKey);
 
-                redisClient.hgetAsync(utils.redisHash, utils.redisKey)
+                redisClient.hgetAsync(self.redisKey, self.redisField)
                 .then(activeHost => {
-                    return utils.initActiveHost(activeHost);
+                    return initActiveHost(activeHost);
                 })
                 .then(() => {
                     process.on('SIGTERM', function onSigterm() {
-                        if (utils.activeHost === utils.host) {
-                            var redundantHost = utils.host === 'host0' ? 
'host1' : 'host0';
-                            utils.redisClient.hsetAsync(utils.redisHash, 
utils.redisKey, redundantHost)
+                        if (self.activeHost === self.host) {
+                            var redundantHost = self.host === 'host0' ? 
'host1' : 'host0';
+                            self.redisClient.hsetAsync(self.redisKey, 
self.redisField, redundantHost)
                             .then(() => {
-                                utils.redisClient.publish(utils.redisHash, 
redundantHost);
+                                self.redisClient.publish(self.redisKey, 
redundantHost);
                             })
                             .catch(err => {
                                 logger.error(method, err);
@@ -485,18 +484,18 @@ module.exports = function(logger, triggerDB, redisClient) 
{
         });
     };
 
-    this.initActiveHost = function(activeHost) {
+    function initActiveHost(activeHost) {
         var method = 'initActiveHost';
 
         if (activeHost === null) {
             //initialize redis key with active host
-            logger.info(method, 'redis hset', utils.redisHash, utils.redisKey, 
utils.activeHost);
-            return redisClient.hsetAsync(utils.redisHash, utils.redisKey, 
utils.activeHost);
+            logger.info(method, 'redis hset', self.redisKey, self.redisField, 
self.activeHost);
+            return redisClient.hsetAsync(self.redisKey, self.redisField, 
self.activeHost);
         }
         else {
-            utils.activeHost = activeHost;
+            self.activeHost = activeHost;
             return Promise.resolve();
         }
-    };
+    }
 
 };


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to