Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
test: make cluster tests more time tolerant
Browse files Browse the repository at this point in the history
simple tests test-cluster-master-error.js, test-cluster-master-kill.js
fails in AIX with assertion failure indicating that the workers were
alive even after the master terminated. A 200ms leeway is provided for
the workers to actually terminate, but the isAlive check returns
true in both the cases.

In AIX, the workers were actually terminating, but they took more time
- as much as 800ms (normal) to 1000ms (in rare cases).

Based on a C test we ran, it is found that the exit routines in AIX
is a bit more longer than that in Linux. There are a number of cleanup
activities performed in exit() system call, and depending on when the
signal handlers are shutdown in that sequence, the process will be
deemed as dead or alive, from another process's perspective.

process.kill(pid) is used in the test case to check the liveliness of
the worker, and when the kill() call is issued, even if the target
process is in it's exit sequences, if the signal handlers are not shut
down, it will respond to external signals, causing those calls to pass.

This fix extends the additional timeout for all platforms

Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: #9431
  • Loading branch information
gireeshpunathil authored and mhdawson committed Mar 31, 2015
1 parent 61fe1fe commit f3f4e28
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion test/simple/test-cluster-master-error.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ if (cluster.isWorker) {
existMaster = !!code;

// Give the workers time to shut down
setTimeout(checkWorkers, 200);
setTimeout(checkWorkers, 1000);

function checkWorkers() {
// When master is dead all workers should be dead to
Expand Down
2 changes: 1 addition & 1 deletion test/simple/test-cluster-master-kill.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ if (cluster.isWorker) {
// check worker process status
setTimeout(function() {
alive = isAlive(pid);
}, 200);
}, 1000);
});

process.once('exit', function() {
Expand Down

0 comments on commit f3f4e28

Please sign in to comment.