1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into devel

This commit is contained in:
Kaveh Vahedipour 2016-04-12 14:20:56 +02:00
commit c2665a63f8
1 changed files with 47 additions and 20 deletions

View File

@ -1232,6 +1232,26 @@ function startInstanceCluster(instanceInfo, protocol, options,
httpOptions.method = 'POST';
httpOptions.returnBodyOnError = true;
let count = 0;
instanceInfo.arangods.forEach(arangod => {
while (true) {
const reply = download(arangod.url + "/_api/version", "", makeAuthorizationHeaders(options));
if (!reply.error && reply.code === 200) {
break;
}
++count;
if (count % 60 === 0) {
if (!checkArangoAlive(arangod, options)) {
throw new Error("startup failed! bailing out!");
}
}
wait(0.5, false);
}
});
response = download(coordinatorUrl + '/_admin/cluster/bootstrapDbServers', '{"isRelaunch":false}', httpOptions);
while (response.code !== 200) {
@ -1294,24 +1314,6 @@ function startArango(protocol, options, addArgs, name, rootDir) {
const startTime = time();
instanceInfo.pid = executeValgrind(ARANGOD_BIN, toArgv(args), options, name).pid;
let count = 0;
while (true) {
wait(0.5, false);
const reply = download(instanceInfo.url + "/_api/version", "", makeAuthorizationHeaders(options));
if (!reply.error && reply.code === 200) {
break;
}
++count;
if (count % 60 === 0) {
if (!checkArangoAlive(instanceInfo, options)) {
throw new Error("startup failed! bailing out!");
}
}
}
if (platform.substr(0, 3) === 'win') {
const procdumpArgs = [
'-accepteula',
@ -1371,6 +1373,7 @@ function startInstanceSingleServer(instanceInfo, protocol, options,
addArgs, testname, rootDir) {
instanceInfo.arangods.push(startArango(protocol, options, addArgs, testname, rootDir));
instanceInfo.endpoint = instanceInfo.arangods[instanceInfo.arangods.length - 1].endpoint;
instanceInfo.url = instanceInfo.arangods[instanceInfo.arangods.length - 1].url;
@ -1380,7 +1383,7 @@ function startInstanceSingleServer(instanceInfo, protocol, options,
function startInstance(protocol, options, addArgs, testname, tmpDir) {
let rootDir = fs.join(tmpDir || fs.getTempFile(), testname);
let instanceInfo = {rootDir, arangods: []};
try {
if (options.cluster) {
startInstanceCluster(instanceInfo, protocol, options,
@ -1390,12 +1393,36 @@ function startInstance(protocol, options, addArgs, testname, tmpDir) {
addArgs, testname, rootDir);
} else {
startInstanceSingleServer(instanceInfo, protocol, options,
addArgs, testname, rootDir);
addArgs, testname, rootDir);
}
if (!options.cluster) {
let count = 0;
instanceInfo.arangods.forEach(arangod => {
while (true) {
const reply = download(arangod.url + "/_api/version", "", makeAuthorizationHeaders(options));
if (!reply.error && reply.code === 200) {
break;
}
++count;
if (count % 60 === 0) {
if (!checkArangoAlive(arangod, options)) {
throw new Error("startup failed! bailing out!");
}
}
wait(0.5, false);
}
});
}
} catch (e) {
print(e, e.stack);
return false;
}
return instanceInfo;
}