extracted assertOld to utils and added unit test for it
+ added stat to cache.js & cache-usr.js
+ expose emitter, status, cache, monitor, ecv from index.js to allow either form of dependency declaration:
require('cluster2/emitter')
require('cluster2').emitter

both will work the same
refactorings
+ extracted deathQueue logic out of puppet.js and moved to utils.js for unit test, verified the sequence and guarantee that no more than one worker will suicide at the same time
- .js
Merge remote-tracking branch 'origin/cluster3' into cluster3
fixed locking, added 'lock' support from mgr/usr, no adhoc '/lock' key needed
fixed npm test and refactorings of puppet.js
just some refactorings
puppet bugfix and unit test
+ cache persistence bugfix
+ cache 'namespace' chars shorten to 'ns'
+ cache refactorings
+ fixed #listen promise rejected issue from both master & worker
+ refactorings
+ fixed status view in monitor for none object structure
+ fixed worker issue 'this.emitter' missing this scope
+ refactorings to reduce loc
+ worker unit test & gc info bugfix
+ refactorings
puppet unit test
Merge branch 'cluster3' of https://github.com/inexplicable/cubejs-cluster2 into cluster3
fix monitor server issue conflict between node-gc & socket.io?
temp fix node-gc & socket.io conflict, added gc monitor option, added master unit test