Multi-statement transaction issue impacting MemSQL 7.0 versions up to and including 7.0.11

There is an issue that can cause some workloads to fail with an error or potentially return incorrect results impacting MemSQL 7.0 versions up to and including 7.0.11. This does not affect MemSQL versions 6.8 or earlier.

The fix for this bug was released in 7.0.12 of MemSQL.

If you have not yet upgraded to MemSQL 7.0 or are already using MemSQL 7.0.12 or later, there is no action required.

Bug Trigger

This bug impacts databases with more than 64 database partitions which are performing reads or complex writes (insert select, update/delete with join), after first writing data in a multi-statement transaction. Workloads on databases with 64 or fewer database partitions are not impacted.

You can check how many database partitions a database has with the command SHOW PARTITIONS ON database_name.

When using multi-statement transactions which involve more than 64 database partitions over the course of the transaction, you may experience one of the following errors:

  • Incorrect query results returned
  • The error ‘Transaction rolled back mid-query’
  • Syntax errors
  • MemSQL node crashes

We recommend that you upgrade to version 7.0.12 or later if you are using any MemSQL 7.0 release before 7.0.12 and if your applications have transactions that involve more than 64 database partitions.