@@ -32,14 +32,13 @@ var async = require('async'),
3232 database ,
3333 orionDb ,
3434 delay = config . checkDB . delay ,
35- context = { comp : constants . COMPONENT_NAME , op : 'checkDB' } ;
35+ context = { comp : constants . COMPONENT_NAME , op : 'checkDB' } ;
3636
3737function pingAux ( db , component , callback ) {
38- db . command ( { ping : 1 } , function ( err , result ) {
38+ db . command ( { ping : 1 } , function ( err , result ) {
3939 if ( err ) {
4040 alarm . raise ( component , context , err . message ) ;
41- }
42- else {
41+ } else {
4342 alarm . release ( component , context , result ) ;
4443 }
4544 return callback ( err , result ) ;
@@ -49,39 +48,43 @@ function pingAux(db, component, callback) {
4948function getDbAux ( url , component , callback ) {
5049 var client = require ( 'mongodb' ) . MongoClient ,
5150 checkDbHealthFunc ;
52- client . connect ( url , {
53- db : {
54- bufferMaxEntries : config . checkDB . bufferMaxEntries ,
55- domainsEnabled : true
51+ client . connect (
52+ url ,
53+ {
54+ db : {
55+ bufferMaxEntries : config . checkDB . bufferMaxEntries ,
56+ domainsEnabled : true
57+ } ,
58+ server : {
59+ reconnectTries : config . checkDB . reconnectTries ,
60+ reconnectInterval : config . checkDB . reconnectInterval ,
61+ domainsEnabled : true
62+ }
5663 } ,
57- server : {
58- reconnectTries : config . checkDB . reconnectTries ,
59- reconnectInterval : config . checkDB . reconnectInterval ,
60- domainsEnabled : true
61- }
62- } , function ( err , db ) {
63- if ( err ) {
64- myutils . logErrorIf ( err , 'connect' , context ) ;
65- return callback ( err , null ) ;
66- }
64+ function ( err , db ) {
65+ if ( err ) {
66+ myutils . logErrorIf ( err , 'connect' , context ) ;
67+ return callback ( err , null ) ;
68+ }
6769
68- // This event is emitted only by Server topology (standalone)
69- // The driver has given up getting a connection, so we will die (restart perseo usually)
70- // and re-try from scratch.
71- // The ReplSet does not emit 'reconnectFailed'
72- db . serverConfig . on ( 'reconnectFailed' , function ( ) {
73- logger . fatal ( 'too many tries to reconnect to database, dying ...' ) ;
74- process . exit ( - 2 ) ;
75- } ) ;
76-
77- checkDbHealthFunc = function checkDbHealth ( ) {
78- pingAux ( db , component , function ( err , result ) {
79- logger . debug ( 'ping (%s) %j' , component , err || result ) ;
70+ // This event is emitted only by Server topology (standalone)
71+ // The driver has given up getting a connection, so we will die (restart perseo usually)
72+ // and re-try from scratch.
73+ // The ReplSet does not emit 'reconnectFailed'
74+ db . serverConfig . on ( 'reconnectFailed' , function ( ) {
75+ logger . fatal ( 'too many tries to reconnect to database, dying ...' ) ;
76+ process . exit ( - 2 ) ;
8077 } ) ;
81- } ;
82- setInterval ( checkDbHealthFunc , delay ) ;
83- return callback ( null , db ) ;
84- } ) ;
78+
79+ checkDbHealthFunc = function checkDbHealth ( ) {
80+ pingAux ( db , component , function ( err , result ) {
81+ logger . debug ( 'ping (%s) %j' , component , err || result ) ;
82+ } ) ;
83+ } ;
84+ setInterval ( checkDbHealthFunc , delay ) ;
85+ return callback ( null , db ) ;
86+ }
87+ ) ;
8588}
8689function getDb ( callback ) {
8790 getDbAux ( config . mongo . url , alarm . DATABASE , function cb ( err , db ) {
@@ -99,7 +102,7 @@ function getOrionDb(callback) {
99102function ensureIndex ( collection , fields , callback ) {
100103 database . collection ( collection , function ( err , collection ) {
101104 myutils . logErrorIf ( err , collection , context ) ;
102- collection . ensureIndex ( fields , { unique : true } , function ( err , indexName ) {
105+ collection . ensureIndex ( fields , { unique : true } , function ( err , indexName ) {
103106 myutils . logErrorIf ( err , 'ensureIndex ' + collection , context ) ;
104107 callback ( err , indexName ) ;
105108 } ) ;
@@ -108,18 +111,25 @@ function ensureIndex(collection, fields, callback) {
108111function ensureIndexTTL ( collection , fields , ttl , callback ) {
109112 database . collection ( collection , function ( err , collection ) {
110113 myutils . logErrorIf ( err , collection ) ;
111- collection . ensureIndex ( fields , { expireAfterSeconds : ttl } , function ( err , indexName ) {
114+ collection . ensureIndex ( fields , { expireAfterSeconds : ttl } , function ( err , indexName ) {
112115 myutils . logErrorIf ( err , 'ensureIndex ' + collection , context ) ;
113116 callback ( err , indexName ) ;
114117 } ) ;
115118 } ) ;
116119}
117120
118121function setUp ( cbSU ) {
119- async . parallel ( [
120- ensureIndex . bind ( null , rulesCollection , { name : 1 , subservice : 1 , service : 1 } ) ,
121- ensureIndexTTL . bind ( null , executionsCollection , { lastTime : 1 } , config . executionsTTL )
122- ] , cbSU ) ;
122+ async . parallel (
123+ [
124+ ensureIndex . bind ( null , rulesCollection , {
125+ name : 1 ,
126+ subservice : 1 ,
127+ service : 1
128+ } ) ,
129+ ensureIndexTTL . bind ( null , executionsCollection , { lastTime : 1 } , config . executionsTTL )
130+ ] ,
131+ cbSU
132+ ) ;
123133}
124134
125135function closeAux ( db , callback ) {
0 commit comments