Repository: lens Updated Branches: refs/heads/master cdac40874 -> 3b657dee4
LENS-1461 : Lens services state are not persisted correctly Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/3b657dee Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/3b657dee Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/3b657dee Branch: refs/heads/master Commit: 3b657dee40ef70d06e6ed589467bd455b77a5066 Parents: cdac408 Author: Ankit Kailaswar <[email protected]> Authored: Fri Nov 3 13:25:53 2017 +0530 Committer: sushilmohanty <[email protected]> Committed: Fri Nov 3 13:25:53 2017 +0530 ---------------------------------------------------------------------- .../lens/server/session/HiveSessionService.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/3b657dee/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java b/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java index b480d14..a9fd233 100644 --- a/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java +++ b/lens-server/src/main/java/org/apache/lens/server/session/HiveSessionService.java @@ -420,12 +420,23 @@ public class HiveSessionService extends BaseLensService implements SessionServic @Override public void writeExternal(ObjectOutput out) throws IOException { // Write out all the sessions - out.writeInt(SESSION_MAP.size()); + List<LensSessionImpl> sessions = new ArrayList<>(); for (LensSessionHandle sessionHandle : SESSION_MAP.values()) { - LensSessionImpl session = getSession(sessionHandle); + try { + sessions.add(getSession(sessionHandle)); + } catch (ClientErrorException e) { + // warn for invalid/null session and continue. + log.warn("Cannot persist " + (sessionHandle != null ? sessionHandle.getPublicId() : "null ") + + " session. {}", e); + } + } + + out.writeInt(sessions.size()); + for (LensSessionImpl session : sessions) { session.getLensSessionPersistInfo().writeExternal(out); } - log.info("Session service pesristed " + SESSION_MAP.size() + " sessions"); + + log.info("Session service pesristed " + sessions.size() + " sessions out of " + SESSION_MAP.size()); } /**
