RTDATA_LIST is recorded when a thread waits for access to the data structure holding performance metrics (RunTimeData) for natively-compiled stored procedures, In-Memory OLTP’s compiled-to-machine-code procedures. Both reporting execution statistics and maintaining the structure (cleanup, new entries) pass through it.
No native procedures, no meaningful RTDATA_LIST.
Is It a Problem?
Usually not, with a version-specific exception: SQL Server 2014 had a known bug (KB 3007050) causing excessive waits on this type when using natively-compiled procedures, fixed in subsequent updates. On a 2014 instance running native procedures with this wait ranking, patch level is the diagnosis.
On later versions, remember statistics collection for native procedures is opt-in (sys.sp_xtp_control_proc_exec_stats and query-level equivalents); enabling detailed collection on a hot native workload naturally warms this structure, a cost you chose for the visibility.
Common Causes
- The 2014 defect on unpatched builds.
- Native procedure execution statistics collection enabled on high-throughput In-Memory OLTP workloads.
What To Do
- On 2014: verify the build against KB 3007050.
- On later versions, balance stats collection granularity against overhead on the hottest native procedures; sample rather than always-on where the workload is extreme.
How To See It
Rank waits with Get-WaitStatistics; relevance requires In-Memory OLTP native procedures in the picture.
Part of the SQL Server Wait Types Library.
Related deep dive: SOS_SCHEDULER_YIELD Wait Type.
Leave a Reply