You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by su...@apache.org on 2017/11/03 07:56:09 UTC

lens git commit: LENS-1461 : Lens services state are not persisted correctly

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 <an...@gmail.com>
Authored: Fri Nov 3 13:25:53 2017 +0530
Committer: sushilmohanty <su...@apache.org>
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());
   }
 
   /**