Another one: PerfLogger doesn't work on the backend with this change anymore. The problem is that the SessionState now uses MetaException in the code path to start the session. That's not available on the backend. PerfLogger has logic to determine whether it runs front or backend. It does so by checking SessionState.get() == null.
That check cannot be executed anymore because loading the SessionState tries to resolve the MetaException (MetaStore api).
The easiest fix would be to collapse the exception handlers to one that catches exception (super class of meta store) and wraps that into a runtime exception. Logically that's no different from what's performed right now.
Can we have a follow up to this one as well?