Skip to content

Commit b1cbe7b

Browse files
committed
Merge branch 'feature/remove-domains' into develop
2 parents 16f9388 + 6dab0a1 commit b1cbe7b

File tree

5 files changed

+31
-34
lines changed

5 files changed

+31
-34
lines changed

lib/caching.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
/** @module cacheManager/caching */
22
/*jshint maxcomplexity:15*/
3-
var domain = require('domain');
43
var CallbackFiller = require('./callback_filler');
54

65
/**
@@ -92,7 +91,7 @@ var caching = function(args) {
9291
}
9392

9493
var hasKey = callbackFiller.has(key);
95-
callbackFiller.add(key, {cb: cb, domain: process.domain});
94+
callbackFiller.add(key, {cb: cb});
9695
if (hasKey) { return; }
9796

9897
self.store.get(key, options, function(err, result) {
@@ -101,12 +100,7 @@ var caching = function(args) {
101100
} else if (self._isCacheableValue(result)) {
102101
callbackFiller.fill(key, null, result);
103102
} else {
104-
domain
105-
.create()
106-
.on('error', function(err) {
107-
callbackFiller.fill(key, err);
108-
})
109-
.bind(work)(function(err, data) {
103+
work(function(err, data) {
110104
if (err) {
111105
callbackFiller.fill(key, err);
112106
return;

lib/callback_filler.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
var domain = require('domain');
2-
31
function CallbackFiller() {
42
this.queues = {};
53
}
64

75
CallbackFiller.prototype.fill = function(key, err, data) {
8-
var self = this;
9-
10-
var waiting = self.queues[key];
11-
delete self.queues[key];
6+
var waiting = this.queues[key];
7+
delete this.queues[key];
128

139
waiting.forEach(function(task) {
14-
var taskDomain = task.domain || domain.create();
15-
taskDomain.bind(task.cb)(err, data);
10+
(task.cb)(err, data);
1611
});
1712
};
1813

lib/multi_caching.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
/** @module cacheManager/multiCaching */
22
var async = require('async');
3-
var domain = require('domain');
43
var CallbackFiller = require('./callback_filler');
54

65
/**
@@ -218,7 +217,7 @@ var multiCaching = function(caches, options) {
218217
}
219218

220219
var hasKey = callbackFiller.has(key);
221-
callbackFiller.add(key, {cb: cb, domain: process.domain});
220+
callbackFiller.add(key, {cb: cb});
222221
if (hasKey) { return; }
223222

224223
getFromHighestPriorityCache(key, function(err, result, index) {
@@ -232,14 +231,7 @@ var multiCaching = function(caches, options) {
232231
callbackFiller.fill(key, err, result);
233232
});
234233
} else {
235-
domain
236-
.create()
237-
.on('error', function(err) {
238-
if (callbackFiller.has(key)) {
239-
callbackFiller.fill(key, err);
240-
}
241-
})
242-
.bind(work)(function(err, data) {
234+
work(function(err, data) {
243235
if (err) {
244236
return callbackFiller.fill(key, err);
245237
}

test/caching.unit.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -576,12 +576,20 @@ describe("caching", function() {
576576
fakeError = new Error(support.random.string());
577577
});
578578

579-
it("bubbles up that error", function(done) {
579+
it("does not catch the error", function(done) {
580+
var originalExceptionHandler = process.listeners('uncaughtException').pop();
581+
process.removeListener('uncaughtException', originalExceptionHandler);
582+
583+
process.once('uncaughtException', function(err) {
584+
process.on('uncaughtException', originalExceptionHandler);
585+
assert.ok(err);
586+
done();
587+
});
588+
580589
cache.wrap(key, function() {
581590
throw fakeError;
582-
}, function(err) {
583-
assert.equal(err, fakeError);
584-
done();
591+
}, function() {
592+
done(new Error('Should not have caught error'));
585593
});
586594
});
587595
});

test/multi_caching.unit.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -926,12 +926,20 @@ describe("multiCaching", function() {
926926
fakeError = new Error(support.random.string());
927927
});
928928

929-
it("bubbles up that error", function(done) {
929+
it("does not catch the error", function(done) {
930+
var originalExceptionHandler = process.listeners('uncaughtException').pop();
931+
process.removeListener('uncaughtException', originalExceptionHandler);
932+
933+
process.once('uncaughtException', function(err) {
934+
process.on('uncaughtException', originalExceptionHandler);
935+
assert.ok(err);
936+
done();
937+
});
938+
930939
multiCache.wrap(key, function() {
931940
throw fakeError;
932-
}, ttl, function(err) {
933-
assert.equal(err, fakeError);
934-
done();
941+
}, function() {
942+
done(new Error('Should not have caught error'));
935943
});
936944
});
937945
});

0 commit comments

Comments
 (0)