Configuring Database Connectivity Loss Tolerance
Usage
To prevent a shutdown of the INUBIT Process Engine due to temporary database connectivity issues, you can configure a so-called leaky bucket mechanism. The mechanism computes an error level as a percentage of the number of actual errors and the configured maximum number of errors. The error level is increased once a connectivity issue occurred, and the error level is decreased after a specified interval elapsed. Only if the maximum number of errors (error level >= 100%) is reached or exceeded, the INUBIT Process Engine is shut down because of database connection is considered as interrupted.
Functional Principle
To configure the connectivity loss tolerance, INUBIT uses the leaky bucket mechanism. For this purpose, the following parameters are available and they can be configured using the INUBIT CLI as described below.
-
Fault threshold
The
threshold
represents the maximum number of connection errors allowed in the INUBIT system. This value must be a positive integer, e.g.:25
-
Error level
The
errorlevel
parameter represents the percentage of the actual occurred database connection error events (i.e. connection loss or any other fault during database connection) with respect to the fault threshold limit. This value is only computed and it cannot be set. -
Drop rate
The
droprate
parameter represents the rate the error level is reduced after the interval time has elapsed. This value must be a positive integer, e.g.:4
-
Drop interval
The
interval
parameter represents the time interval after that the error level percentage is being reduced by the percentage value configured in thedroprate
parameter. This value must be a positive integer, e.g.:3600
If the specified fault threshold limit is reached, the INUBIT Process Engine will shut down because a major database connection problem occurred.
You can tune the leaky bucket mechanism of your INUBIT system by setting the three tolerance parameters threshold
, droprate
, and interval
.
Moreover, you can observe the leaky bucket behavior, and you can adjust these parameters.
Using the following database connection tolerance parameters happen on the user’s own risk. To avoid data loss, these parameters should not be used in case of planned database downtimes. In this case, the maintenance mode has to be activated for the INUBIT Process Engine. |
Call up
-
Interactive mode
startcli.bat [-u <user account>] [-p <password>] ... dbconnectiontolerance [show|set <tolerance parameter>]
-
Script mode
startcli.bat [-u <user account>] [-p <password>] --execCommand "dbconnectiontolerance [show|set <tolerance parameter>]"
Interaction with database properties to reconnect after connecting to a database has failed
There are two properties for retrying to connect to a database:
-
noOfRetries
This property specifies the number of retries to connect to a disconnected database. Once the
noOfRetries
has exceeded, the INUBIT Process Engine(s) is/are shut down. -
retryInterval
This property specifies the delay between two retries to connect to a disconnected database.
Refer to:
Command options
Option | Description |
---|---|
|
Displays the usage |
|
Displays the current values for
|
|
To set a tolerance parameter
|
Example
-
Interactive mode
-
Displaying the tolerance parameter
If less than 25 connection errors occurred, the error level is reduced by 4% after every 3600 seconds.
If a further connection error occurs, the error level is recalculated.
If more than 25 connections errors occurred, the INUBIT Process Engine is shut down.
CLI|root@[hostname]> dbconnectiontolerance show Error level: 0% Fault threshold: 25 Drop rate: 4% Drop interval (s): 3600 seconds
-
Setting the tolerance parameter
threshold
to100
CLI|root@[hostname]> dbconnectiontolerance set threshold 100 Error level: 0% Fault threshold: 100 Drop rate: 4% Drop interval (s): 3600 seconds
-
-
Script mode
-
Displaying the tolerance parameter
D:\inubit74\client\bin>startcli.bat -u root --execCommand "dbconnectiontolerance show" https://<server>:<port/ibis/servlet/IBISSoapServlet Password: Error level: 0% Fault threshold: 25 Drop rate: 4% Drop interval (s): 3600 seconds
-
Setting the tolerance parameter
threshold
to100
D:\inubit74\client\bin>startcli.bat -u root --execCommand "dbconnectiontolerance set threshold 100" https://<server>:<port>/ibis/servlet/IBISSoapServlet Error level: 0% Fault threshold: 100 Drop rate: 4% Drop interval (s): 3600 seconds
-