Skip to content

Commit

Permalink
Documentation: Add a note on async non-blocking events
Browse files Browse the repository at this point in the history
refs #6589
  • Loading branch information
Michael Friedrich committed Aug 5, 2014
1 parent 963125f commit c01dfdf
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
3 changes: 3 additions & 0 deletions doc/1-about.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@ High Availability for DB IDO: Only active on the current zone master, failover h

Multithreaded and scalable for small embedded systems as well as large scale environments.
Running checks every second is no longer a problem and enables real-time monitoring capabilities.
Checks, notifications and event handlers [do not block Icinga 2](#differences-1x-2-async-event-execution)
in its operation. Same goes for performance data writers and the external command pipe, or any
file writers on disk (`statusdata`).
Unlike Icinga 1.x the [daemon reload](#differences-1x-2-real-reload) happens asynchronously.
A child daemon validates the new configuration, the parent process is still doing checks, replicating cluster events, triggering alert notifications, etc. If the configuration validation is ok, all remaining events are synchronized and the child process continues as normal.
The DB IDO configuration dump and status/historical event updates also runs asynchronously in a queue not blocking the core anymore. The configuration validation itself runs in paralell allowing fast verification checks.
Expand Down
10 changes: 10 additions & 0 deletions doc/8-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -1189,6 +1189,16 @@ The following external commands are not supported:
STOP_OBSESSING_OVER_SVC
STOP_OBSESSING_OVER_SVC_CHECKS

### <a id="differences-1x-2-async-event-execution"></a> Asynchronous Event Execution

Unlike Icinga 1.x, Icinga 2 does not block when it waits for a check command
being executed. Similar when a notification or event handler is triggered - they
run asynchronously in their own thread.

Writing performance data files or status data and log files doesn't block either.
Last but not least the external command pipe runs asynchronously and accepts
multiple connections at once.

### <a id="differences-1x-2-checks"></a> Checks

#### <a id="differences-1x-2-check-output"></a> Check Output
Expand Down

0 comments on commit c01dfdf

Please sign in to comment.