Improved commit check to access written compressor blocks only

Details

Detail name Value
Changelog Number 7510
Type Improvement
Status Resolved
Fix Versions Exasol 6.1.2
Resolution Date 2019-02-20

Background

The initial phase of every commit is the so called block check. This check ensures the internal consistency of all written objects and their corresponding data blocks. If it detects any inconsistencies, the commit is aborted and the eventual database corruption avoided.

The commit check is typically very fast because written data blocks do reside in DBRAM.

Problem

When upgrading from Exasol 6.0 to 6.1 certain parts of column objects are converted to a new database format on first startup. The conversion is finished with a regular commit checking for inconsistencies.

There was a performance problem therein that this block check accessed more data blocks than needed (compressor blocks) which even had to be read from storage first (cold data). As the complete database might have been touched by the upgrade process, this commit could take hours.

Workaround

The commit check can be disabled using the following database parameter: -checkBlocksOnCommit=0