RTDATA_LIST Wait Type in SQL Server

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

  1. On 2014: verify the build against KB 3007050.
  2. 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.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *