Handling Lockwait Timeout Errors encountered on NDB Cluster

(Doc ID 1335917.1)

Last updated on JANUARY 18, 2018

Applies to:

MySQL Cluster - Version 6.3 and later
Information in this document applies to any platform.

Symptoms

Any transactional DBMS under high concurrency has the potential to hit Lock wait timeout errors. These errors are temporary in nature, and as suggested by MySQL, when this error is hit - retrying the transaction from the application should allow the transaction to proceed.

Only when many of these Lock wait timeout errors occur, or when they occur alongside significant performance drops, does action and investigation beyond retrying the transaction need to occur.

ERROR
-----------------------

 

STEPS
-----------------------
The issue can be reproduced with the following conditions:

  1. Simulate a heavy load on the data nodes using either of the following:
    • Increase Disk I/O, or
    • Set the DiskCheckpointSpeed option to a very low value.
  2. Set the option TimeBetweenEpochsTimeout=0.
  3. Load data nodes until transactions do not return within the TransactionDeadlockDetectionTimeout period.


BUSINESS IMPACT
-----------------------
If Lock wait timeouts occur frequently or with performance drops in general, user applications must retry transactions as they may not always complete before TransactionDeadlockDetectionTimeout. User applications can also experience significant slow down in query processing and response time due to load.

Changes

What normally triggers Lock wait timeouts is one of the following:

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms