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

View File

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