Description
We've seen some very rare cases where Oozie gets a Kerberos error when trying to get delegation tokens via the Credentials mechanism (e.g. getting HS2 delegation tokens).
We finally narrowed it down to slow KDC responses, so Oozie's Kerberos credentials have expired when it tries to get the delegation token. The reason we don't see this with Hadoop clients (DFSClient for HDFS, JobClient for MR, etc) is because they call UserGroupInformation#checkTGTAndReloginFromKeytab() before trying to connect.
We should do a similar fix by calling UserGroupInformation#checkTGTAndReloginFromKeytab() before using a Credentials implementation.