Previously ActiveRecord::QueryCache using the new Rails executor may result in dirty query caches across threads.
Releasing a connection in one thread may return it to the pool with cache still enabled and dirty, and the executor lost track of the connection so it may clear another, and another thread may pick up the dirty cache and never turn it off.
This fix makes changes so that query cache does not persist while a connection moves through the pool and is assigned to a new thread.
“System tests have finally taken strong hold at @Basecamp. Can't wait for us to level-up @Rails with great defaults for it in 5.1!” The work being done is soon to be bundled into a new gem inside of Rails, that will hopefully be part of Rails 5.1!
That's it from This Week in Rails! There were many other great contributions, too numerous to list here, but feel free to check them out!