@michaelcahill, I tried to change things so we always, where possible, cache a reference to the metadata when creating an internal session.
A couple of notes:
- We can't open the metadata handle when opening the connection default session and the cache-pool session, the metadata file may not exist; the connection default session opens the metadata explicitly after creating the metadata file, the cache-pool session does nothing special.
- The txn recovery code doesn't open an "internal" session, it opens a normal one. I wasn't sure if that was deliberate or not, wanted to call it out, just in case.