Github user michaelandrepearce commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1443#discussion_r131552826
  
    --- Diff: docs/user-manual/en/critical-analysis.md ---
    @@ -0,0 +1,32 @@
    +# Critical Analysis of the broker
    +
    +There are a few things that can go wrong on a production environment:
    +
    +- Bugs, for more than we try they still happen! We always try to correct 
them, but that's the only constant in software development.
    +- IO Errors, disks and hardware can go bad
    +- Memory issues, the CPU can go crazy by another process
    +
    +For cases like this, we added a protection to the broker to shut itself 
down when bad things happen.
    +
    +We measure time response in places like:
    +
    +- Queue delivery (add to the queue)
    +- Journal storage
    +- Paging operations
    +
    +If the response time goes beyond a configured timeout, the broker is 
considered unstable and an action will be taken to either shutdown the broker 
or halt the VM.
    +
    +You can use these following configuration options on broker.xml to 
configure how the critical analysis is performed.
    +
    +
    +Name | Description
    +:--- | :---
    +analyze-critical | Enable or disable the critical analysis (default true)
    +analyze-critical-timeout | Timeout used to do the critical analysis 
(default 120000 milliseconds)
    +analyze-critical-check-period | Time used to check the response times 
(default half of analyze-critical-timeout)
    +analyze-critical-halt | Should the VM be halted upon failures (default 
false)
    --- End diff --
    
    i would imagine a health monitor/critical analysers threads are independent 
of core flow, as such it should detect and action if a component isn't 
responding or non healthy state. As such it should be able to declare that 
state back. 
    
    e.g. if JVM bad state due to deadlock, that deadlock should only be 
affecting the threads/flow where the deadlock is , as such this component 
should still be servicing.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to