Tibor17 commented on issue #231: Failsafe: Killing self fork JVM. PING timeout 
elapsed.
URL: https://github.com/apache/maven-surefire/pull/231#issuecomment-485582552
 
 
   @shark-horse 
   Comparing the mechanism in `ForkedBooter` (not in `CommandReader`) we keep 
the appearance on NOOP in AtomicBoolean anytimes it has happened within the 
period of 30seconds. The scheduler won't forget the intermediate NOOPs the same 
as `ForkedBooter`. If one NOOP at least is seen within 30 seconds period, it's 
ok and it means the Maven process is alive.
   
   We have three ways to detect that Maven process has died (ordered from the 
most fast to slow):
   
   + `EOFException` caught in the `std-in` stream (from `InputStream#read()`) 
on CTRL+C (is `SIGTERM`).
   + native `PpidChecker` fast (action within 1 sec) able to detect killed or 
reused killed Maven process ID (after `SIGKILL`)
   + 1 up to 3 NOOPs checked within the period of 30 seconds
   
   In docker container (without Ninx' `ps`) the first and second algorithm was 
satisfactory. The only problem was that the second algorithm detected a fake 
when long GC pauses happened. We are trying this algorithm been resilient 
against long GC pauses.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to