Race Condition in isKeyword of the SQLParsing Library

Details

Detail name Value
Changelog Number 9158
Type Bug
Status Resolved
Affected Versions EXASOL 6.0.0, Exasol 6.1.0, Exasol 6.2.0
Fix Versions Exasol 6.2.3, Exasol 6.1.8, Exasol 6.0.18
Resolution Date 2019-11-27

Background

Exasol's builtin Lua environment provides the "sqlparsing" library, which in term provides the iskeyword() function tor token classification.

Problem

The implementation of iskeyword() is not thread-safe, possibly causing an "internal server error" when used inside a Lua UDF.
Probability increases with the number of threads within the calling process, which depends on hardware (more CPUs, more threads) and system usage (more concurrency, less threads).

There is no workaround.