1
0
Fork 0

Fixed discrepancies between simulated Agency and real Agency communicating with the Agency.

This commit is contained in:
Michael Hackstein 2014-01-07 17:38:46 +01:00
parent 65bb8d2ae3
commit 6998e4b2ce
2 changed files with 31 additions and 18 deletions

View File

@ -50,7 +50,11 @@ exports.Communication = function() {
mapCollectionIDsToNames = function(list) {
var res = {};
_.each(list, function(v, k) {
res[JSON.parse(v).name] = splitServerName(k);
var n = splitServerName(k);
if (n === "Lock" || n === "Version") {
return;
}
res[JSON.parse(v).name] = n;
});
return res;
};
@ -231,7 +235,8 @@ exports.Communication = function() {
var ColObject = function(route, writeAccess) {
this.info = function() {
return JSON.parse(route.get());
var res = route.get();
return JSON.parse(_.values(res)[0]);
};
this.getShards = function() {
var info = this.info();
@ -447,6 +452,7 @@ exports.Communication = function() {
var Sync = function() {
var Heartbeats;
var interval = agency.sync.interval.get();
interval = _.values(interval)[0];
var didBeatInTime = function(time) {
@ -467,14 +473,17 @@ exports.Communication = function() {
var HeartbeatsObject = function() {
this.list = function() {
return agency.sync.beat.get(true);
var res = agency.sync.beat.get(true);
_.each(res, function(v, k) {
res[k] = JSON.parse(v);
});
return res;
};
this.getInactive = function() {
var list = this.list();
var res = [];
_.each(list, function(v, k) {
if (isInactive(v.status)) {
require("internal").print(k, isInSync(v.status), isOutSync(v.status));
res.push(k);
}
});

View File

@ -115,30 +115,30 @@
"cindy": "tcp://192.168.1.3:8529"
};
var heartbeats = {
"pavel": {
"pavel": JSON.stringify({
status: "SERVINGSYNC",
time: (new Date()).toISOString()
},
"paul": {
}),
"paul": JSON.stringify({
status: "SERVINGSYNC",
time: (new Date()).toISOString()
},
"patricia": {
}),
"patricia": JSON.stringify({
status: "SERVINGASYNC",
time: (new Date()).toISOString()
},
"sandro": {
}),
"sandro": JSON.stringify({
status: "INSYNC",
time: (new Date()).toISOString()
},
"sandra": {
}),
"sandra": JSON.stringify({
status: "SYNCING",
time: (new Date()).toISOString()
},
"sally": {
}),
"sally": JSON.stringify({
status: "INSYNC",
time: (new Date()).toISOString()
}
})
};
dummy = {};
dummy.target = {};
@ -198,7 +198,9 @@
}
} else {
if (parts[2] === "_system" && parts[3] === "87123") {
return base.vInfo;
var internalResult = {};
internalResult[route] = base.vInfo;
return internalResult;
}
}
}
@ -230,7 +232,9 @@
return dummy.sync.heartbeats;
}
if (parts[1] === agencyRoutes.sub.interval) {
return dummy.sync.interval;
res = {};
res[route] = JSON.stringify(dummy.sync.interval);
return res;
}
break;
default: