You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This introduces the InternalSession. The immediate motivation for this
is to improve the performance of LDR. LDR currently depends on the
internal executor. Every statement executed with the internal executor
creates its own connExecutor instance. This prevents LDR from taking
advantage of prepared statements and generic query plans.
Long term, the idea is to have InternalSession replace the internal
executor. But it was developed as a stand alone conn executor wrapper in
order to minimize the risk of breaking existing clients of the internal
executor.
One key design feature of the InternalSession is the state machine was
moved from a separate goroutine to the goroutine that is requesting the
statement execution. This makes CPU profiles for internal processes much
easier to read because it is obvious which call stack is using the SQL
layer. It may also help with integrating LDR's SQL CPU usage with
elastic admission control since the CPU time is accounted to the calling
goroutine.
Release note: none
Informs: #148310
0 commit comments