YARN-6647. RM can crash during transitionToStandby due to InterruptedException. Contributed by Bibin A Chundatt
(cherry picked from commit a2c7a73e33
)
This commit is contained in:
parent
b9239e0b79
commit
e03725c262
|
@ -82,14 +82,21 @@ public class RMDelegationTokenSecretManager extends
|
||||||
return new RMDelegationTokenIdentifier();
|
return new RMDelegationTokenIdentifier();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean shouldIgnoreException(Exception e) {
|
||||||
|
return !running && e.getCause() instanceof InterruptedException;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void storeNewMasterKey(DelegationKey newKey) {
|
protected void storeNewMasterKey(DelegationKey newKey) {
|
||||||
try {
|
try {
|
||||||
LOG.info("storing master key with keyID " + newKey.getKeyId());
|
LOG.info("storing master key with keyID " + newKey.getKeyId());
|
||||||
rm.getRMContext().getStateStore().storeRMDTMasterKey(newKey);
|
rm.getRMContext().getStateStore().storeRMDTMasterKey(newKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error in storing master key with KeyID: " + newKey.getKeyId());
|
if (!shouldIgnoreException(e)) {
|
||||||
ExitUtil.terminate(1, e);
|
LOG.error(
|
||||||
|
"Error in storing master key with KeyID: " + newKey.getKeyId());
|
||||||
|
ExitUtil.terminate(1, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,8 +106,10 @@ public class RMDelegationTokenSecretManager extends
|
||||||
LOG.info("removing master key with keyID " + key.getKeyId());
|
LOG.info("removing master key with keyID " + key.getKeyId());
|
||||||
rm.getRMContext().getStateStore().removeRMDTMasterKey(key);
|
rm.getRMContext().getStateStore().removeRMDTMasterKey(key);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error in removing master key with KeyID: " + key.getKeyId());
|
if (!shouldIgnoreException(e)) {
|
||||||
ExitUtil.terminate(1, e);
|
LOG.error("Error in removing master key with KeyID: " + key.getKeyId());
|
||||||
|
ExitUtil.terminate(1, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,9 +122,11 @@ public class RMDelegationTokenSecretManager extends
|
||||||
rm.getRMContext().getStateStore().storeRMDelegationToken(identifier,
|
rm.getRMContext().getStateStore().storeRMDelegationToken(identifier,
|
||||||
renewDate);
|
renewDate);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error in storing RMDelegationToken with sequence number: "
|
if (!shouldIgnoreException(e)) {
|
||||||
+ identifier.getSequenceNumber());
|
LOG.error("Error in storing RMDelegationToken with sequence number: "
|
||||||
ExitUtil.terminate(1, e);
|
+ identifier.getSequenceNumber());
|
||||||
|
ExitUtil.terminate(1, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,9 +138,11 @@ public class RMDelegationTokenSecretManager extends
|
||||||
+ id.getSequenceNumber());
|
+ id.getSequenceNumber());
|
||||||
rm.getRMContext().getStateStore().updateRMDelegationToken(id, renewDate);
|
rm.getRMContext().getStateStore().updateRMDelegationToken(id, renewDate);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error in updating persisted RMDelegationToken" +
|
if (!shouldIgnoreException(e)) {
|
||||||
" with sequence number: " + id.getSequenceNumber());
|
LOG.error("Error in updating persisted RMDelegationToken"
|
||||||
ExitUtil.terminate(1, e);
|
+ " with sequence number: " + id.getSequenceNumber());
|
||||||
|
ExitUtil.terminate(1, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,9 +154,12 @@ public class RMDelegationTokenSecretManager extends
|
||||||
+ ident.getSequenceNumber());
|
+ ident.getSequenceNumber());
|
||||||
rm.getRMContext().getStateStore().removeRMDelegationToken(ident);
|
rm.getRMContext().getStateStore().removeRMDelegationToken(ident);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error in removing RMDelegationToken with sequence number: "
|
if (!shouldIgnoreException(e)) {
|
||||||
+ ident.getSequenceNumber());
|
LOG.error(
|
||||||
ExitUtil.terminate(1, e);
|
"Error in removing RMDelegationToken with sequence number: "
|
||||||
|
+ ident.getSequenceNumber());
|
||||||
|
ExitUtil.terminate(1, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue