Introduce a ThreadLocal-based pooled-lo optimizer to avoid locking

Description

This is a very specific performance enhancement that uses a ThreadLocal to cache a pool of sequence values. Care must be taken when specifying the configuration, especially the "increment_size", which determines how many sequence ids are cached per thread.

The idea is to optimize the ID generator optimizer, to avoid a contended lock on the PooledLoOptimizer.generate().

Environment

None

Assignee

Scott Marlow

Reporter

Scott Marlow

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Priority

Major
Configure