YARN-4863. AHS Security login should be in serviceInit() instead of serviceStart(). Contributed by Junping Du

(cherry picked from commit 80182809aed76fb9522d25db9bf5e445395dd573)
(cherry picked from commit ffe01e05cdfe0c1484de0f2116014a63cdc51364)
This commit is contained in:
Xuan 2016-03-28 22:17:45 -07:00
parent 88b56cdfaa
commit d5ea2462c2

View File

@ -86,7 +86,14 @@ public ApplicationHistoryServer() {
@Override @Override
protected void serviceInit(Configuration conf) throws Exception { protected void serviceInit(Configuration conf) throws Exception {
// init timeline services first
// do security login first.
try {
doSecureLogin(conf);
} catch(IOException ie) {
throw new YarnRuntimeException("Failed to login", ie);
}
// init timeline services
timelineStore = createTimelineStore(conf); timelineStore = createTimelineStore(conf);
addIfService(timelineStore); addIfService(timelineStore);
secretManagerService = createTimelineDelegationTokenSecretManagerService(conf); secretManagerService = createTimelineDelegationTokenSecretManagerService(conf);
@ -110,15 +117,6 @@ protected void serviceInit(Configuration conf) throws Exception {
@Override @Override
protected void serviceStart() throws Exception { protected void serviceStart() throws Exception {
try {
doSecureLogin(getConfig());
} catch(IOException ie) {
throw new YarnRuntimeException("Failed to login", ie);
}
if (pauseMonitor != null) {
pauseMonitor.start();
}
super.serviceStart(); super.serviceStart();
startWebApp(); startWebApp();
} }