activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clebert Suconic <clebert.suco...@gmail.com>
Subject [DISCUSS] Critical Analysis feature on broker
Date Fri, 04 Aug 2017 17:02:00 GMT
I'm adding some logic to detect cases where the broker may become irresponsive.

I'm adding a component called CriticalAnalyzer, which will inspect
response times of certain operations and decide to take the broker
down when bad things are happening.


Along several critical operations on the broker, I'm adding this pattern:


enterCritical(pathID);
try {
   synchronized (lock) {
   }
} finally {
   leaveCritical(pathID);
}

The CriticalAnalyzer will look at the times between enter and leave,
and with a configured timeout, it will take the broker down.



Now, when it's coming to the configuration, I'm not finding a good
nomenclature for this.. and I'm asking for help:

So, far I came up with these names:

- analyze-critical : default true
  is the critical analyzer on?

- analyze-critical-timeout: default 120000 (milliseconds, 2 minutes)
  The timeout used to

- analyze-critical-check-period default 1/2 of analyze-critical-timeout

- analyze-critical-halt-on-failure: default false
  In case of an issue, the a Runtime.halt() would be issued if true,
  otherwise a shutdown.

During deadlocks or IO issues, the most effective way would be
actually the halt. We could even change the start scripts to restart
the server in case of a returned value.




Any input?


I will send a Pull Request soon.


-- 
Clebert Suconic

Mime
View raw message