[
https://issues.apache.org/jira/browse/OOZIE-2413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15042382#comment-15042382
]
Rohini Palaniswamy commented on OOZIE-2413:
-------------------------------------------
This should be done in JavaActionExecutor.setCredentialTokens() so that the
check is done only once for any action even if there are multiple credentials.
{code}
if (context != null && action != null && credPropertiesMap != null) {
+ LOG.debug("About to relogin from keytab");
+ UserGroupInformation.getLoginUser().checkTGTAndReloginFromKeytab();
+ LOG.debug("Relogin from keytab successful");
for (Entry<String, CredentialsProperties> entry :
credPropertiesMap.entrySet()) {
{code}
> Kerberos credentials can expire if the KDC is slow to respond
> -------------------------------------------------------------
>
> Key: OOZIE-2413
> URL: https://issues.apache.org/jira/browse/OOZIE-2413
> Project: Oozie
> Issue Type: Bug
> Components: security
> Affects Versions: trunk
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Fix For: trunk
>
> Attachments: OOZIE-2413.001.patch
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)