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.