The RetryingMetaStoreClient is used to automatically reconnect to the Hive metastore, after client timeout, transparently to the user.
In case of user impersonation (e.g. Oozie super-user oozie impersonating a Hadoop user mithun, to run a workflow), in case of timeout, we find that the reconnect causes the UGI.doAs() context to be lost. Any further metastore operations will be attempted as the login-user (oozie), as opposed to the effective user (mithun).
We should have a fix for this shortly.