fix empty token case

This commit is contained in:
Khalid Huseynov 2017-03-20 15:00:56 +09:00
parent 39a9a18ec2
commit 7e1ac5d74b
3 changed files with 10 additions and 5 deletions

View file

@ -57,6 +57,10 @@ public class UserTokenContainer {
}
public void setUserToken(String username, String token) {
if (StringUtils.isBlank(username) || StringUtils.isBlank(token)) {
LOG.info("Can't set empty user token");
return;
}
userTokens.put(username, token);
}
@ -71,7 +75,9 @@ public class UserTokenContainer {
String ticket = UserSessionContainer.instance.getSession(principal);
try {
token = getDefaultZeppelinInstanceToken(ticket);
userTokens.putIfAbsent(principal, token);
if (!StringUtils.isBlank(token)) {
userTokens.putIfAbsent(principal, token);
}
} catch (IOException e) {
LOG.error("Cannot get user token", e);
token = StringUtils.EMPTY;

View file

@ -281,9 +281,9 @@ public class ZeppelinClient {
return;
}
if (StringUtils.isEmpty(zeppelinMsg.principal) || zeppelinMsg.principal == "anonymous") {
token = UserTokenContainer.instance.getUserToken(zeppelinMsg.principal);
} else {
token = "anonymous";
} else {
token = UserTokenContainer.instance.getUserToken(zeppelinMsg.principal);
}
meta.put("token", token);
Client client = Client.getInstance();

View file

@ -40,9 +40,8 @@ public class ZeppelinHubHeartbeat implements Runnable {
@Override
public void run() {
LOG.debug("Sending PING to zeppelinhub");
for (String token: UserTokenContainer.instance.getAllTokens()) {
LOG.info("Sending PING to zeppelinhub token {}", token);
LOG.debug("Sending PING to zeppelinhub token {}", token);
client.send(ZeppelinhubUtils.pingMessage(token), token);
}
}