Our internal testing occasionally gets stuck waiting forever to reclaim space in cache. There are times when that is due to application configuration decisions (e.g: with LSM trees required to keep history available).
We have code that forced the oldest transaction that has done an update to roll back in order to alleviate such situations, but sometimes it's read transactions that pin the content.
We can add a new configuration option to wiredtiger_open that will allow applications to configure a maximum amount of time a single operation should wait for space in cache.