PR Sent.. i would appreciate reviews. thanks
On Fri, Aug 4, 2017 at 1:02 PM, Clebert Suconic <[email protected]> wrote: > 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 -- Clebert Suconic
