You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by cs...@apache.org on 2018/03/10 03:47:31 UTC
[incubator-openwhisk-package-alarms] branch master updated:
redundant provider not being notified to remove expired trigger (#137)
This is an automated email from the ASF dual-hosted git repository.
csantanapr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-package-alarms.git
The following commit(s) were added to refs/heads/master by this push:
new f0c2990 redundant provider not being notified to remove expired trigger (#137)
f0c2990 is described below
commit f0c2990e065062be9c7f68c6b6a962897e04721e
Author: Jason Peterson <ja...@us.ibm.com>
AuthorDate: Fri Mar 9 22:47:29 2018 -0500
redundant provider not being notified to remove expired trigger (#137)
---
provider/lib/sanitizer.js | 39 +++++++++++++++++++++++++++++++++++++++
provider/lib/utils.js | 5 ++---
2 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/provider/lib/sanitizer.js b/provider/lib/sanitizer.js
index 8f8cd26..cb173d2 100644
--- a/provider/lib/sanitizer.js
+++ b/provider/lib/sanitizer.js
@@ -143,4 +143,43 @@ module.exports = function(logger, triggerDB, uriHost) {
});
};
+ this.deleteTriggerFeed = function(triggerID) {
+ var method = 'deleteTriggerFeed';
+
+ return new Promise(function(resolve, reject) {
+ triggerDB.get(triggerID, function (err, existing) {
+ if (!err) {
+ if (!existing.status || existing.status.active === true) {
+ var updatedTrigger = existing;
+ var status = {
+ 'active': false,
+ 'dateChanged': Date.now(),
+ 'reason': {'kind': 'AUTO', 'statusCode': undefined, 'message': `Marked for deletion`}
+ };
+ updatedTrigger.status = status;
+
+ triggerDB.insert(updatedTrigger, triggerID, function (err) {
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve(triggerID);
+ }
+ });
+ }
+ }
+ else {
+ reject(err);
+ }
+ });
+ })
+ .then(triggerID => {
+ sanitizer.deleteTriggerFromDB(triggerID, 0);
+ })
+ .catch(err => {
+ logger.error(method, triggerID, 'an error occurred while deleting the trigger feed', err);
+ });
+
+ };
+
};
diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index ba38adf..a4d5072 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -182,10 +182,9 @@ module.exports = function(logger, triggerDB, redisClient) {
var triggerIdentifier = dataTrigger.triggerID;
if (dataTrigger.date) {
if (dataTrigger.deleteAfterFire && dataTrigger.deleteAfterFire !== 'false') {
- utils.stopTrigger(triggerIdentifier);
//delete trigger feed from database
- utils.sanitizer.deleteTriggerFromDB(triggerIdentifier, 0);
+ utils.sanitizer.deleteTriggerFeed(triggerIdentifier);
//check if trigger and all associated rules should be deleted
if (dataTrigger.deleteAfterFire === 'rules') {
@@ -194,7 +193,7 @@ module.exports = function(logger, triggerDB, redisClient) {
else {
var auth = dataTrigger.apikey.split(':');
utils.sanitizer.deleteTrigger(dataTrigger, auth, 0)
- .then((info) => {
+ .then(info => {
logger.info(method, triggerIdentifier, info);
})
.catch(err => {
--
To stop receiving notification emails like this one, please contact
csantanapr@apache.org.