Version

    NodeB is Killed or It Cannot Connect to the Database

    Access to a database is vital for running jobs, running scheduler and cooperation with other nodes. Touching a database is also used for detection of dead process. When the JVM process of NodeB is killed, it stops touching the database and the other nodes may detect it.

    Time-line describing the scenario:

    • 0s-30s - the last touch on DB;

    • NodeB or its connection to the database is down;

    • 90s - NodeA sees the last touch.

    • 0-40s - a check-task running on NodeA detects an obsolete touch from NodeB;

    • the status of NodeB is changed to stopped, jobs running on the NodeB are solved, which means that their status is changed to UNKNOWN and the event is dispatched among the Cluster nodes. The job result is considered as error.

    The following configuration properties set the time intervals mentioned above:

    cluster.node.touch.interval

    The periodicity of a database touch, in milliseconds.

    Default: 20000

    cluster.node.touch.forced_stop.interval

    The interval when the other nodes accept the last touch, in milliseconds.

    Default: 60000

    cluster.node.check.checkMinInterval

    The periodicity of Cluster node checks, in milliseconds.

    Default: 40000

    cluster.node.touch.forced_stop.solve_running_jobs.enabled

    A boolean value which can switch the solving of running jobs mentioned above.