2.1.2
Overview
This release adds functionality to the pool that prevents inappropriate use which can cause exit(1) or segmentation fault.
Breaking changes
There are no breaking changes in the release.
Changes
-
Forbid putting connections back to another pool (PR #68).
local p1 = mysql.pool_create(pool_cfg) local p2 = mysql.pool_create(pool_cfg) local c = p1:get() p2:put(c)
will now result in error throw:
--- - error: 'Trying to put connection from pool table: 0x405b8868 to pool table: 0x40981288' ...
Before this release, overflowing pool with put from other pool could result in application getting forever stuck or Tarantool process exit(1) because of fiber yield on garbage collect.
-
Close connection pool if queue overflowed on gc (PR #68).
Queue overflow results in fiber yield on gc. Yielding in gc is prohibited since Tarantool 2.6.0-138-gd3f1dd720, 2.5.1-105-gc690b3337, 2.4.2-89-g83037df15, 1.10.7-47-g8099cb053. In previous versions yielding in gc resulted in undefined behavior for LuaJit traces compiler and could be the reason for segmentation faults.
Other
- Publish rockspecs with CD on master update and new tags (PR #69).