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 the droprate 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.

administration guide 387 1

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

-h,--help

Displays the usage

show

Displays the current values for errorlevel, threshold, droprate, and interval.

  • errorlevel

    Portion of occurred connection errors of the configured threshold (read-only)

  • threshold

    Maximum number of connection errors indicating a permanent connection loss. Process Engine will shut down if threshold is exceeded.

  • droprate

    Value the threshold is reduced once the drop interval has elapsed.

  • interval

    Drop interval in seconds. Once the configured drop interval has elapsed, the error level will be decreased by the configured drop rate.

set <tolerance parameter>

To set a tolerance parameter

  • threshold

    Maximum number of connection errors

  • droprate

    Value the threshold is reduced once the drop interval has elapsed.

  • interval

    Drop interval in seconds. Once the configured drop interval has elapsed, the error level will be decreased by the configured drop rate.

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 to 100

      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://localhost:8740/ibis/servlet/IBISSoapServlet
      Password:
      Error level: 0%
      Fault threshold: 25
      Drop rate: 4%
      Drop interval (s): 3600 seconds
    • Setting the tolerance parameter threshold to 100

      D:\inubit74\client\bin>startcli.bat -u root --execCommand "dbconnectiontolerance set threshold 100" https://localhost:8740/ibis/servlet/IBISSoapServlet
      Error level: 0%
      Fault threshold: 100
      Drop rate: 4%
      Drop interval (s): 3600 seconds