You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2017/01/05 03:04:33 UTC

zeppelin git commit: ZEPPELIN-1851. LazyOpenInterpreter would open interpreter multiple times when open fails

Repository: zeppelin
Updated Branches:
  refs/heads/master ed5349729 -> 18fd5481a


ZEPPELIN-1851. LazyOpenInterpreter would open interpreter multiple times when open fails

### What is this PR for?
Change `opened` to be `volatile` as it would be accessed by multiple threads. And check `opened` in `getProgress` rather than call `open()`

### What type of PR is it?
[Bug Fix]

### Todos
* [ ] - Task

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-1851

### How should this be tested?
Tested manually on livy interpreter (change the livy configuration to make livy fails to create session).

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jeff Zhang <zj...@apache.org>

Closes #1795 from zjffdu/ZEPPELIN-1851 and squashes the following commits:

e800932 [Jeff Zhang] ZEPPELIN-1851. LazyOpenInterpreter would open interpreter multiple times when open fails


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/18fd5481
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/18fd5481
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/18fd5481

Branch: refs/heads/master
Commit: 18fd5481aa6de3d7075968bc4c981a9bcb3407dd
Parents: ed53497
Author: Jeff Zhang <zj...@apache.org>
Authored: Fri Dec 23 11:14:32 2016 +0800
Committer: Jongyoul Lee <jo...@apache.org>
Committed: Thu Jan 5 12:04:29 2017 +0900

----------------------------------------------------------------------
 .../apache/zeppelin/interpreter/LazyOpenInterpreter.java | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/18fd5481/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/LazyOpenInterpreter.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/LazyOpenInterpreter.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/LazyOpenInterpreter.java
index 425ae20..6e11604 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/LazyOpenInterpreter.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/LazyOpenInterpreter.java
@@ -31,7 +31,7 @@ public class LazyOpenInterpreter
     extends Interpreter
     implements WrappedInterpreter {
   private Interpreter intp;
-  boolean opened = false;
+  volatile boolean opened = false;
 
   public LazyOpenInterpreter(Interpreter intp) {
     super(new Properties());
@@ -59,7 +59,7 @@ public class LazyOpenInterpreter
   }
 
   @Override
-  public void open() {
+  public synchronized void open() {
     if (opened == true) {
       return;
     }
@@ -107,8 +107,11 @@ public class LazyOpenInterpreter
 
   @Override
   public int getProgress(InterpreterContext context) {
-    open();
-    return intp.getProgress(context);
+    if (opened) {
+      return intp.getProgress(context);
+    } else {
+      return 0;
+    }
   }
 
   @Override