You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by zj...@apache.org on 2018/06/26 00:24:01 UTC

[1/2] zeppelin git commit: ZEPPELIN-3336. Remove sending spark web url to interpreter setting page

Repository: zeppelin
Updated Branches:
  refs/heads/master 93531b515 -> adf83a3f5


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-server/src/test/java/org/apache/zeppelin/rest/InterpreterRestApiTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/InterpreterRestApiTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/InterpreterRestApiTest.java
index e870442..23ffed1 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/InterpreterRestApiTest.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/InterpreterRestApiTest.java
@@ -373,35 +373,6 @@ public class InterpreterRestApiTest extends AbstractTestRestApi {
     delete.releaseConnection();
   }
 
-  @Test
-  public void testGetMetadataInfo() throws IOException {
-    String jsonRequest = "{\"name\":\"spark_new\",\"group\":\"spark\"," +
-            "\"properties\":{\"propname\": {\"value\": \"propvalue\", \"name\": \"propname\", " +
-            "\"type\": \"textarea\"}}," +
-            "\"interpreterGroup\":[{\"class\":\"org.apache.zeppelin.markdown.Markdown\"," +
-            "\"name\":\"md\"}],\"dependencies\":[]," +
-            "\"option\": { \"remote\": true, \"session\": false }}";
-    PostMethod post = httpPost("/interpreter/setting/", jsonRequest);
-    InterpreterSetting created = convertResponseToInterpreterSetting(
-            post.getResponseBodyAsString());
-    String settingId = created.getId();
-    Map<String, String> infos = new java.util.HashMap<>();
-    infos.put("key1", "value1");
-    infos.put("key2", "value2");
-    ZeppelinServer.notebook.getInterpreterSettingManager().get(settingId).setInfos(infos);
-    GetMethod get = httpGet("/interpreter/metadata/" + settingId);
-    assertThat(get, isAllowed());
-    JsonObject body = getBodyFieldFromResponse(get.getResponseBodyAsString());
-    assertEquals(body.entrySet().size(), infos.size());
-    java.util.Map.Entry<String, JsonElement> item = body.entrySet().iterator().next();
-    if (item.getKey().equals("key1")) {
-      assertEquals(item.getValue().getAsString(), "value1");
-    } else {
-      assertEquals(item.getValue().getAsString(), "value2");
-    }
-    get.releaseConnection();
-  }
-
   private JsonObject getBodyFieldFromResponse(String rawResponse) {
     JsonObject response = gson.fromJson(rawResponse, JsonElement.class).getAsJsonObject();
     return response.getAsJsonObject("body");

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-web/src/app/interpreter/interpreter.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/interpreter/interpreter.controller.js b/zeppelin-web/src/app/interpreter/interpreter.controller.js
index ef6b8a5..3465871 100644
--- a/zeppelin-web/src/app/interpreter/interpreter.controller.js
+++ b/zeppelin-web/src/app/interpreter/interpreter.controller.js
@@ -762,27 +762,6 @@ function InterpreterCtrl($rootScope, $scope, $http, baseUrlSrv, ngToast, $timeou
     getRepositories();
   };
 
-  $scope.showSparkUI = function(settingId) {
-    $http.get(baseUrlSrv.getRestApiBase() + '/interpreter/metadata/' + settingId)
-      .then(function(res) {
-        if (res.data.body === undefined) {
-          BootstrapDialog.alert({
-            message: 'No spark application running',
-          });
-          return;
-        }
-        if (res.data.body.url) {
-          window.open(res.data.body.url, '_blank');
-        } else {
-          BootstrapDialog.alert({
-            message: _.escape(res.data.body.message),
-          });
-        }
-      }).catch(function(res) {
-        console.log('Error %o %o', res.status, res.data ? res.data.message : '');
-      });
-  };
-
   $scope.getInterpreterBindingModeDocsLink = function() {
     const currentVersion = $rootScope.zeppelinVersion;
     return `https://zeppelin.apache.org/docs/${currentVersion}/usage/interpreter/interpreter_binding_mode.html`;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-web/src/app/interpreter/interpreter.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/interpreter/interpreter.html b/zeppelin-web/src/app/interpreter/interpreter.html
index c1d90cc..bd63aa6 100644
--- a/zeppelin-web/src/app/interpreter/interpreter.html
+++ b/zeppelin-web/src/app/interpreter/interpreter.html
@@ -125,10 +125,6 @@ limitations under the License.
         </h3>
         <span style="float:right" ng-show="!valueform.$visible" >
           <button class="btn btn-default btn-xs"
-                  ng-click="showSparkUI(setting.id)"
-                  ng-show="setting.group == 'spark'">
-            <span class="fa fa-external-link"></span> spark ui</button>
-          <button class="btn btn-default btn-xs"
                   ng-click="valueform.$show();
                   copyOriginInterpreterSettingProperties(setting.id)">
             <span class="fa fa-pencil"></span> edit</button>

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
index 5bfd69c..b5596e2 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
@@ -121,8 +121,6 @@ public class InterpreterSetting {
   private transient ApplicationEventListener appEventListener;
   private transient DependencyResolver dependencyResolver;
 
-  private transient Map<String, String> infos;
-
   // Map of the note and paragraphs which has runtime infos generated by this interpreter setting.
   // This map is used to clear the infos in paragraph when the interpretersetting is restarted
   private transient Map<String, Set<String>> runtimeInfosToBeCleared;
@@ -493,7 +491,6 @@ public class InterpreterSetting {
     }
     interpreterGroups.clear();
     this.runtimeInfosToBeCleared = null;
-    this.infos = null;
   }
 
   public void setProperties(Object object) {
@@ -640,14 +637,6 @@ public class InterpreterSetting {
     this.interpreterInfos = interpreterInfos;
   }
 
-  public void setInfos(Map<String, String> infos) {
-    this.infos = infos;
-  }
-
-  public Map<String, String> getInfos() {
-    return infos;
-  }
-
   public InterpreterRunner getInterpreterRunner() {
     return interpreterRunner;
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
index d81e490..ff65c3a 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
@@ -840,8 +840,6 @@ public class InterpreterSettingManager implements InterpreterSettingManagerMBean
     // Check if dependency in specified path is changed
     // If it did, overwrite old dependency jar with new one
     if (intpSetting != null) {
-      // clean up metaInfos
-      intpSetting.setInfos(null);
       copyDependenciesFromLocalPath(intpSetting);
       intpSetting.closeInterpreters(user, noteId);
     } else {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
index 24df1c6..573319b 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
@@ -296,22 +296,6 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
   }
 
   @Override
-  public void sendMetaInfo(String intpGroupId, String json) throws TException {
-    InterpreterGroup interpreterGroup =
-        interpreterSettingManager.getInterpreterGroupById(intpGroupId);
-    if (interpreterGroup == null) {
-      throw new TException("Invalid InterpreterGroupId: " + intpGroupId);
-    }
-
-    Map<String, String> metaInfos = gson.fromJson(json,
-        new TypeToken<Map<String, String>>() {
-        }.getType());
-    String settingId = RemoteInterpreterUtils.
-        getInterpreterSettingId(interpreterGroup.getId());
-    listener.onMetaInfosReceived(settingId, metaInfos);
-  }
-
-  @Override
   public void sendParagraphInfo(String intpGroupId, String json) throws TException {
     InterpreterGroup interpreterGroup =
         interpreterSettingManager.getInterpreterGroupById(intpGroupId);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java
index ec6b1ec..ac7fa1e 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java
@@ -30,7 +30,6 @@ public interface RemoteInterpreterProcessListener {
   public void onOutputUpdated(
       String noteId, String paragraphId, int index, InterpreterResult.Type type, String output);
   public void onOutputClear(String noteId, String paragraphId);
-  public void onMetaInfosReceived(String settingId, Map<String, String> metaInfos);
   void runParagraphs(String noteId, List<Integer> paragraphIndices, List<String> paragraphIds,
                      String curParagraphId)
       throws IOException;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterOutputTestStream.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterOutputTestStream.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterOutputTestStream.java
index aa6ccf0..5e1cb7d 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterOutputTestStream.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterOutputTestStream.java
@@ -132,11 +132,6 @@ public class RemoteInterpreterOutputTestStream extends AbstractInterpreterTest
   }
 
   @Override
-  public void onMetaInfosReceived(String settingId, Map<String, String> metaInfos) {
-
-  }
-
-  @Override
   public void runParagraphs(String noteId, List<Integer> paragraphIndices, List<String> paragraphIds, String curParagraphId) throws IOException {
 
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
index 4542b0e..c3b540b 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
@@ -282,11 +282,6 @@ public class RemoteSchedulerTest extends AbstractInterpreterTest
   }
 
   @Override
-  public void onMetaInfosReceived(String settingId, Map<String, String> metaInfos) {
-
-  }
-
-  @Override
   public void runParagraphs(String noteId, List<Integer> paragraphIndices, List<String> paragraphIds, String curParagraphId) throws IOException {
 
   }


[2/2] zeppelin git commit: ZEPPELIN-3336. Remove sending spark web url to interpreter setting page

Posted by zj...@apache.org.
ZEPPELIN-3336. Remove sending spark web url to interpreter setting page

### What is this PR for?
This PR  is to remove the spark web url of interpreter setting page. As it doesn't make sense to do that. There would many spark interpreter processes associated with one interpreter setting when it is in isolated mode.

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

### Todos
* [ ] - Task

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

### How should this be tested?
* CI pass

### Screenshots (if appropriate)

### 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 #3031 from zjffdu/ZEPPELIN-3336 and squashes the following commits:

e2bf02e10 [Jeff Zhang] ZEPPELIN-3336. Remove sending spark web url to interpreter setting page


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

Branch: refs/heads/master
Commit: adf83a3f5d009efd0e0416a7bf1d8b6fd86ea58a
Parents: 93531b5
Author: Jeff Zhang <zj...@apache.org>
Authored: Tue Jun 19 10:18:02 2018 +0800
Committer: Jeff Zhang <zj...@apache.org>
Committed: Tue Jun 26 08:23:50 2018 +0800

----------------------------------------------------------------------
 .../spark/AbstractSparkInterpreter.java         |   2 -
 .../zeppelin/spark/IPySparkInterpreter.java     |   1 -
 .../zeppelin/spark/NewSparkInterpreter.java     |  22 -
 .../zeppelin/spark/OldSparkInterpreter.java     |  51 --
 .../zeppelin/spark/PySparkInterpreter.java      |   1 -
 .../apache/zeppelin/spark/SparkInterpreter.java |   5 -
 .../zeppelin/spark/SparkRInterpreter.java       |   1 -
 .../zeppelin/spark/SparkSqlInterpreter.java     |   1 -
 .../zeppelin/spark/IPySparkInterpreterTest.java |   2 -
 .../zeppelin/spark/NewSparkInterpreterTest.java |   2 -
 .../zeppelin/spark/OldSparkInterpreterTest.java |   3 -
 .../zeppelin/spark/SparkRInterpreterTest.java   |   2 -
 .../apache/zeppelin/spark/SparkShimsTest.java   |   3 -
 .../org/apache/zeppelin/spark/SparkShims.java   |   3 -
 .../remote/RemoteEventClientWrapper.java        |  18 -
 .../remote/RemoteInterpreterEventClient.java    |   8 -
 .../interpreter/thrift/AngularObjectId.java     |   2 +-
 .../thrift/AppOutputAppendEvent.java            |   2 +-
 .../thrift/AppOutputUpdateEvent.java            |   2 +-
 .../thrift/AppStatusUpdateEvent.java            |   2 +-
 .../thrift/InterpreterCompletion.java           |   2 +-
 .../interpreter/thrift/OutputAppendEvent.java   |   2 +-
 .../thrift/OutputUpdateAllEvent.java            |   2 +-
 .../interpreter/thrift/OutputUpdateEvent.java   |   2 +-
 .../interpreter/thrift/RegisterInfo.java        |   2 +-
 .../thrift/RemoteApplicationResult.java         |   2 +-
 .../thrift/RemoteInterpreterContext.java        |   2 +-
 .../thrift/RemoteInterpreterEvent.java          |   2 +-
 .../thrift/RemoteInterpreterEventService.java   | 848 +------------------
 .../thrift/RemoteInterpreterResult.java         |   2 +-
 .../thrift/RemoteInterpreterResultMessage.java  |   2 +-
 .../thrift/RemoteInterpreterService.java        |   2 +-
 .../interpreter/thrift/RunParagraphsEvent.java  |   2 +-
 .../ZeppelinServerResourceParagraphRunner.java  |   2 +-
 .../thrift/RemoteInterpreterEventService.thrift |   1 -
 .../zeppelin/rest/InterpreterRestApi.java       |  18 -
 .../apache/zeppelin/socket/NotebookServer.java  |   7 -
 .../zeppelin/rest/InterpreterRestApiTest.java   |  29 -
 .../app/interpreter/interpreter.controller.js   |  21 -
 .../src/app/interpreter/interpreter.html        |   4 -
 .../interpreter/InterpreterSetting.java         |  11 -
 .../interpreter/InterpreterSettingManager.java  |   2 -
 .../RemoteInterpreterEventServer.java           |  16 -
 .../RemoteInterpreterProcessListener.java       |   1 -
 .../RemoteInterpreterOutputTestStream.java      |   5 -
 .../zeppelin/scheduler/RemoteSchedulerTest.java |   5 -
 46 files changed, 18 insertions(+), 1109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
index aa1343a..239a7fe 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
@@ -49,8 +49,6 @@ public abstract class AbstractSparkInterpreter extends Interpreter {
 
   public abstract JavaSparkContext getJavaSparkContext();
 
-  public abstract void populateSparkWebUrl(InterpreterContext ctx);
-
   public abstract SparkZeppelinContext getZeppelinContext();
 
   public abstract String getSparkUIUrl();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
index fbb5c45..b6eb014 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
@@ -117,7 +117,6 @@ public class IPySparkInterpreter extends IPythonInterpreter {
   @Override
   public InterpreterResult interpret(String st, InterpreterContext context) {
     InterpreterContext.set(context);
-    sparkInterpreter.populateSparkWebUrl(context);
     String jobGroupId = Utils.buildJobGroupId(context);
     String jobDesc = "Started by: " + Utils.getUserName(context.getAuthenticationInfo());
     String setJobGroupStmt = "sc.setJobGroup('" +  jobGroupId + "', '" + jobDesc + "')";

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
index c532074..1bde23f 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
@@ -141,7 +141,6 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
     z.setGui(context.getGui());
     z.setNoteGui(context.getNoteGui());
     z.setInterpreterContext(context);
-    populateSparkWebUrl(context);
     String jobDesc = "Started by: " + Utils.getUserName(context.getAuthenticationInfo());
     sc.setJobGroup(Utils.buildJobGroupId(context), jobDesc, false);
     return innerInterpreter.interpret(st, context);
@@ -217,27 +216,6 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
     }
   }
 
-  public void populateSparkWebUrl(InterpreterContext ctx) {
-    Map<String, String> infos = new java.util.HashMap<>();
-    infos.put("url", sparkUrl);
-    String uiEnabledProp = properties.getProperty("spark.ui.enabled", "true");
-    java.lang.Boolean uiEnabled = java.lang.Boolean.parseBoolean(
-        uiEnabledProp.trim());
-    if (!uiEnabled) {
-      infos.put("message", "Spark UI disabled");
-    } else {
-      if (StringUtils.isNotBlank(sparkUrl)) {
-        infos.put("message", "Spark UI enabled");
-      } else {
-        infos.put("message", "No spark url defined");
-      }
-    }
-    if (ctx != null) {
-      LOGGER.debug("Sending metadata to Zeppelin server: {}", infos.toString());
-      ctx.getIntpEventClient().onMetaInfosReceived(infos);
-    }
-  }
-
   public boolean isSparkContextInitialized() {
     return this.sc != null;
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/OldSparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/OldSparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/OldSparkInterpreter.java
index 850b53e..4c2ec7c 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/OldSparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/OldSparkInterpreter.java
@@ -30,7 +30,6 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.commons.lang3.StringUtils;
@@ -42,30 +41,10 @@ import org.apache.spark.SparkContext;
 import org.apache.spark.SparkEnv;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.repl.SparkILoop;
-import org.apache.spark.scheduler.ActiveJob;
-import org.apache.spark.scheduler.DAGScheduler;
 import org.apache.spark.scheduler.Pool;
-import org.apache.spark.scheduler.SparkListenerApplicationEnd;
-import org.apache.spark.scheduler.SparkListenerApplicationStart;
-import org.apache.spark.scheduler.SparkListenerBlockManagerAdded;
-import org.apache.spark.scheduler.SparkListenerBlockManagerRemoved;
-import org.apache.spark.scheduler.SparkListenerBlockUpdated;
-import org.apache.spark.scheduler.SparkListenerEnvironmentUpdate;
-import org.apache.spark.scheduler.SparkListenerExecutorAdded;
-import org.apache.spark.scheduler.SparkListenerExecutorMetricsUpdate;
-import org.apache.spark.scheduler.SparkListenerExecutorRemoved;
-import org.apache.spark.scheduler.SparkListenerJobEnd;
-import org.apache.spark.scheduler.SparkListenerJobStart;
-import org.apache.spark.scheduler.SparkListenerStageCompleted;
-import org.apache.spark.scheduler.SparkListenerStageSubmitted;
-import org.apache.spark.scheduler.SparkListenerTaskEnd;
-import org.apache.spark.scheduler.SparkListenerTaskGettingResult;
-import org.apache.spark.scheduler.SparkListenerTaskStart;
-import org.apache.spark.scheduler.SparkListenerUnpersistRDD;
 import org.apache.spark.sql.SQLContext;
 import org.apache.spark.ui.SparkUI;
 import org.apache.spark.scheduler.SparkListener;
-import org.apache.zeppelin.interpreter.BaseZeppelinContext;
 import org.apache.zeppelin.interpreter.Interpreter;
 import org.apache.zeppelin.interpreter.InterpreterContext;
 import org.apache.zeppelin.interpreter.InterpreterException;
@@ -74,7 +53,6 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.InterpreterResult.Code;
 import org.apache.zeppelin.interpreter.InterpreterUtils;
 import org.apache.zeppelin.interpreter.WrappedInterpreter;
-import org.apache.zeppelin.interpreter.remote.RemoteEventClientWrapper;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 import org.apache.zeppelin.interpreter.util.InterpreterOutputStream;
 import org.apache.zeppelin.resource.ResourcePool;
@@ -91,14 +69,8 @@ import scala.Enumeration.Value;
 import scala.None;
 import scala.Option;
 import scala.Some;
-import scala.Tuple2;
-import scala.collection.Iterator;
 import scala.collection.JavaConversions;
-import scala.collection.JavaConverters;
-import scala.collection.Seq;
 import scala.collection.convert.WrapAsJava$;
-import scala.collection.mutable.HashMap;
-import scala.collection.mutable.HashSet;
 import scala.reflect.io.AbstractFile;
 import scala.tools.nsc.Global;
 import scala.tools.nsc.Settings;
@@ -908,28 +880,6 @@ public class OldSparkInterpreter extends AbstractSparkInterpreter {
         new Object[] {line});
   }
 
-  public void populateSparkWebUrl(InterpreterContext ctx) {
-    sparkUrl = getSparkUIUrl();
-    Map<String, String> infos = new java.util.HashMap<>();
-    infos.put("url", sparkUrl);
-    String uiEnabledProp = getProperty("spark.ui.enabled", "true");
-    java.lang.Boolean uiEnabled = java.lang.Boolean.parseBoolean(
-        uiEnabledProp.trim());
-    if (!uiEnabled) {
-      infos.put("message", "Spark UI disabled");
-    } else {
-      if (StringUtils.isNotBlank(sparkUrl)) {
-        infos.put("message", "Spark UI enabled");
-      } else {
-        infos.put("message", "No spark url defined");
-      }
-    }
-    if (ctx != null) {
-      logger.info("Sending metadata to Zeppelin server: {}", infos.toString());
-      ctx.getIntpEventClient().onMetaInfosReceived(infos);
-    }
-  }
-
   private List<File> currentClassPath() {
     List<File> paths = classPath(Thread.currentThread().getContextClassLoader());
     String[] cps = System.getProperty("java.class.path").split(File.pathSeparator);
@@ -1080,7 +1030,6 @@ public class OldSparkInterpreter extends AbstractSparkInterpreter {
       return new InterpreterResult(Code.ERROR, "Spark " + sparkVersion.toString()
           + " is not supported");
     }
-    populateSparkWebUrl(context);
     z.setInterpreterContext(context);
     if (line == null || line.trim().length() == 0) {
       return new InterpreterResult(Code.SUCCESS);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
index aa1ce15..8d5ce70 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/PySparkInterpreter.java
@@ -144,7 +144,6 @@ public class PySparkInterpreter extends PythonInterpreter {
   @Override
   public InterpreterResult interpret(String st, InterpreterContext context)
       throws InterpreterException {
-    sparkInterpreter.populateSparkWebUrl(context);
     return super.interpret(st, context);
   }
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java
index 7df1bc9..dabe9ed 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkInterpreter.java
@@ -132,11 +132,6 @@ public class SparkInterpreter extends AbstractSparkInterpreter {
   }
 
   @Override
-  public void populateSparkWebUrl(InterpreterContext ctx) {
-    delegation.populateSparkWebUrl(ctx);
-  }
-
-  @Override
   public SparkZeppelinContext getZeppelinContext() {
     return delegation.getZeppelinContext();
   }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkRInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkRInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkRInterpreter.java
index 41c11ee..f1b1253 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkRInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkRInterpreter.java
@@ -122,7 +122,6 @@ public class SparkRInterpreter extends Interpreter {
   public InterpreterResult interpret(String lines, InterpreterContext interpreterContext)
       throws InterpreterException {
 
-    sparkInterpreter.populateSparkWebUrl(interpreterContext);
     String jobGroup = Utils.buildJobGroupId(interpreterContext);
     String jobDesc = "Started by: " +
        Utils.getUserName(interpreterContext.getAuthenticationInfo());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkSqlInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkSqlInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkSqlInterpreter.java
index 90d7bc9..4d2bed1 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkSqlInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/SparkSqlInterpreter.java
@@ -96,7 +96,6 @@ public class SparkSqlInterpreter extends Interpreter {
           + sparkInterpreter.getSparkVersion().toString() + " is not supported");
     }
 
-    sparkInterpreter.populateSparkWebUrl(context);
     sparkInterpreter.getZeppelinContext().setInterpreterContext(context);
     sqlc = sparkInterpreter.getSQLContext();
     SparkContext sc = sqlc.sparkContext();

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
index 8625335..20c336d 100644
--- a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
+++ b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/IPySparkInterpreterTest.java
@@ -115,8 +115,6 @@ public class IPySparkInterpreterTest extends IPythonInterpreterTest {
     Thread.sleep(100);
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     String sparkVersion = context.out.toInterpreterResultMessage().get(0).getData();
-    // spark url is sent
-    verify(mockIntpEventClient).onMetaInfosReceived(any(Map.class));
 
     context = createInterpreterContext(mockIntpEventClient);
     result = interpreter.interpret("sc.range(1,10).sum()", context);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/test/java/org/apache/zeppelin/spark/NewSparkInterpreterTest.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/NewSparkInterpreterTest.java b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/NewSparkInterpreterTest.java
index a694f08..65b739d 100644
--- a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/NewSparkInterpreterTest.java
+++ b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/NewSparkInterpreterTest.java
@@ -91,8 +91,6 @@ public class NewSparkInterpreterTest {
     InterpreterResult result = interpreter.interpret("val a=\"hello world\"", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals("a: String = hello world\n", output);
-    // spark web url is sent
-    verify(mockRemoteEventClient).onMetaInfosReceived(any(Map.class));
 
     result = interpreter.interpret("print(a)", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/test/java/org/apache/zeppelin/spark/OldSparkInterpreterTest.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/OldSparkInterpreterTest.java b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/OldSparkInterpreterTest.java
index 12fe614..8ae66b2 100644
--- a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/OldSparkInterpreterTest.java
+++ b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/OldSparkInterpreterTest.java
@@ -26,7 +26,6 @@ import org.apache.zeppelin.interpreter.InterpreterGroup;
 import org.apache.zeppelin.interpreter.InterpreterOutput;
 import org.apache.zeppelin.interpreter.InterpreterResult;
 import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.remote.RemoteEventClientWrapper;
 import org.apache.zeppelin.interpreter.remote.RemoteInterpreterEventClient;
 import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
 import org.apache.zeppelin.resource.LocalResourcePool;
@@ -43,10 +42,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 import java.util.Properties;
 
 import static org.junit.Assert.assertEquals;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkRInterpreterTest.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkRInterpreterTest.java b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkRInterpreterTest.java
index 8f9f080..b12d0b5 100644
--- a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkRInterpreterTest.java
+++ b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkRInterpreterTest.java
@@ -81,8 +81,6 @@ public class SparkRInterpreterTest {
     InterpreterResult result = sparkRInterpreter.interpret("1+1", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertTrue(result.message().get(0).getData().contains("2"));
-    // spark web url is sent
-    verify(mockRemoteIntpEventClient).onMetaInfosReceived(any(Map.class));
 
     result = sparkRInterpreter.interpret("sparkR.version()", getInterpreterContext());
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkShimsTest.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkShimsTest.java b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkShimsTest.java
index 4fa74e9..ad0c534 100644
--- a/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkShimsTest.java
+++ b/spark/interpreter/src/test/java/org/apache/zeppelin/spark/SparkShimsTest.java
@@ -20,7 +20,6 @@ package org.apache.zeppelin.spark;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -32,7 +31,6 @@ import java.util.Properties;
 import org.apache.hadoop.util.VersionInfo;
 import org.apache.zeppelin.interpreter.BaseZeppelinContext;
 import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.remote.RemoteEventClientWrapper;
 import org.apache.zeppelin.interpreter.remote.RemoteInterpreterEventClient;
 import org.junit.Before;
 import org.junit.Test;
@@ -44,7 +42,6 @@ import org.junit.runners.Parameterized.Parameters;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
-import org.powermock.api.mockito.PowerMockito;
 import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/spark/spark-shims/src/main/scala/org/apache/zeppelin/spark/SparkShims.java
----------------------------------------------------------------------
diff --git a/spark/spark-shims/src/main/scala/org/apache/zeppelin/spark/SparkShims.java b/spark/spark-shims/src/main/scala/org/apache/zeppelin/spark/SparkShims.java
index 3c452cc..345a84d 100644
--- a/spark/spark-shims/src/main/scala/org/apache/zeppelin/spark/SparkShims.java
+++ b/spark/spark-shims/src/main/scala/org/apache/zeppelin/spark/SparkShims.java
@@ -19,10 +19,7 @@ package org.apache.zeppelin.spark;
 
 import org.apache.hadoop.util.VersionInfo;
 import org.apache.hadoop.util.VersionUtil;
-import org.apache.zeppelin.interpreter.BaseZeppelinContext;
 import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.remote.RemoteEventClientWrapper;
-import org.apache.zeppelin.interpreter.remote.RemoteInterpreterEventClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteEventClientWrapper.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteEventClientWrapper.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteEventClientWrapper.java
deleted file mode 100644
index e43365c..0000000
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteEventClientWrapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.apache.zeppelin.interpreter.remote;
-
-import java.util.Map;
-
-/**
- * 
- * Wrapper interface for RemoterInterpreterEventClient
- * to expose only required methods from EventClient
- *
- */
-public interface RemoteEventClientWrapper {
-
-  void onMetaInfosReceived(Map<String, String> infos);
-
-  void onParaInfosReceived(String noteId, String paragraphId,
-                                            Map<String, String> infos);
-
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterEventClient.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterEventClient.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterEventClient.java
index d6de06c..287095d 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterEventClient.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterEventClient.java
@@ -294,14 +294,6 @@ public class RemoteInterpreterEventClient implements ResourcePoolConnector,
     }
   }
 
-  public synchronized void onMetaInfosReceived(Map<String, String> infos) {
-    try {
-      intpEventServiceClient.sendMetaInfo(intpGroupId, gson.toJson(infos));
-    } catch (TException e) {
-      LOGGER.warn("Fail to sendMetaInfo: " + infos, e);
-    }
-  }
-
   public synchronized void onParaInfosReceived(Map<String, String> infos) {
     try {
       intpEventServiceClient.sendParagraphInfo(intpGroupId, gson.toJson(infos));

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
index ccf9316..98902cc 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AngularObjectId.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class AngularObjectId implements org.apache.thrift.TBase<AngularObjectId, AngularObjectId._Fields>, java.io.Serializable, Cloneable, Comparable<AngularObjectId> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AngularObjectId");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
index b0fb279..a144101 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputAppendEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class AppOutputAppendEvent implements org.apache.thrift.TBase<AppOutputAppendEvent, AppOutputAppendEvent._Fields>, java.io.Serializable, Cloneable, Comparable<AppOutputAppendEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AppOutputAppendEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
index ca44fc8..067b377 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppOutputUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class AppOutputUpdateEvent implements org.apache.thrift.TBase<AppOutputUpdateEvent, AppOutputUpdateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<AppOutputUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AppOutputUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
index 90de888..b6e07b4 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/AppStatusUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class AppStatusUpdateEvent implements org.apache.thrift.TBase<AppStatusUpdateEvent, AppStatusUpdateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<AppStatusUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AppStatusUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
index 7f6ad0c..3026260 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/InterpreterCompletion.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class InterpreterCompletion implements org.apache.thrift.TBase<InterpreterCompletion, InterpreterCompletion._Fields>, java.io.Serializable, Cloneable, Comparable<InterpreterCompletion> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InterpreterCompletion");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
index 605f0e4..3e114a6 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputAppendEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class OutputAppendEvent implements org.apache.thrift.TBase<OutputAppendEvent, OutputAppendEvent._Fields>, java.io.Serializable, Cloneable, Comparable<OutputAppendEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputAppendEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
index 1f64ac0..d9c5b7a 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateAllEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class OutputUpdateAllEvent implements org.apache.thrift.TBase<OutputUpdateAllEvent, OutputUpdateAllEvent._Fields>, java.io.Serializable, Cloneable, Comparable<OutputUpdateAllEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputUpdateAllEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
index 1d9a95d..0e60c24 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/OutputUpdateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class OutputUpdateEvent implements org.apache.thrift.TBase<OutputUpdateEvent, OutputUpdateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<OutputUpdateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputUpdateEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
index d06c291..2a1b508 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RegisterInfo.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RegisterInfo implements org.apache.thrift.TBase<RegisterInfo, RegisterInfo._Fields>, java.io.Serializable, Cloneable, Comparable<RegisterInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RegisterInfo");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
index 8738b10..87d06e9 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteApplicationResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteApplicationResult implements org.apache.thrift.TBase<RemoteApplicationResult, RemoteApplicationResult._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteApplicationResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteApplicationResult");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
index 1368f2c..eab70fd 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterContext.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterContext implements org.apache.thrift.TBase<RemoteInterpreterContext, RemoteInterpreterContext._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteInterpreterContext> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteInterpreterContext");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
index 6a416e5..ddb675c 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterEvent implements org.apache.thrift.TBase<RemoteInterpreterEvent, RemoteInterpreterEvent._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteInterpreterEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteInterpreterEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
index c0c4dae..32193ad 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterEventService {
 
   public interface Iface {
@@ -78,8 +78,6 @@ public class RemoteInterpreterEventService {
 
     public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name) throws org.apache.thrift.TException;
 
-    public void sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException;
-
     public void sendParagraphInfo(String intpGroupId, String json) throws org.apache.thrift.TException;
 
     public List<String> getAllResources(String intpGroupId) throws org.apache.thrift.TException;
@@ -114,8 +112,6 @@ public class RemoteInterpreterEventService {
 
     public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void sendMetaInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
     public void sendParagraphInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getAllResources(String intpGroupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -371,27 +367,6 @@ public class RemoteInterpreterEventService {
       return;
     }
 
-    public void sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException
-    {
-      send_sendMetaInfo(intpGroupId, json);
-      recv_sendMetaInfo();
-    }
-
-    public void send_sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException
-    {
-      sendMetaInfo_args args = new sendMetaInfo_args();
-      args.setIntpGroupId(intpGroupId);
-      args.setJson(json);
-      sendBase("sendMetaInfo", args);
-    }
-
-    public void recv_sendMetaInfo() throws org.apache.thrift.TException
-    {
-      sendMetaInfo_result result = new sendMetaInfo_result();
-      receiveBase(result, "sendMetaInfo");
-      return;
-    }
-
     public void sendParagraphInfo(String intpGroupId, String json) throws org.apache.thrift.TException
     {
       send_sendParagraphInfo(intpGroupId, json);
@@ -868,41 +843,6 @@ public class RemoteInterpreterEventService {
       }
     }
 
-    public void sendMetaInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      sendMetaInfo_call method_call = new sendMetaInfo_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class sendMetaInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String intpGroupId;
-      private String json;
-      public sendMetaInfo_call(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.intpGroupId = intpGroupId;
-        this.json = json;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("sendMetaInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        sendMetaInfo_args args = new sendMetaInfo_args();
-        args.setIntpGroupId(intpGroupId);
-        args.setJson(json);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public void getResult() throws org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_sendMetaInfo();
-      }
-    }
-
     public void sendParagraphInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       sendParagraphInfo_call method_call = new sendParagraphInfo_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
@@ -1061,7 +1001,6 @@ public class RemoteInterpreterEventService {
       processMap.put("addAngularObject", new addAngularObject());
       processMap.put("updateAngularObject", new updateAngularObject());
       processMap.put("removeAngularObject", new removeAngularObject());
-      processMap.put("sendMetaInfo", new sendMetaInfo());
       processMap.put("sendParagraphInfo", new sendParagraphInfo());
       processMap.put("getAllResources", new getAllResources());
       processMap.put("getResource", new getResource());
@@ -1289,26 +1228,6 @@ public class RemoteInterpreterEventService {
       }
     }
 
-    public static class sendMetaInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, sendMetaInfo_args> {
-      public sendMetaInfo() {
-        super("sendMetaInfo");
-      }
-
-      public sendMetaInfo_args getEmptyArgsInstance() {
-        return new sendMetaInfo_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public sendMetaInfo_result getResult(I iface, sendMetaInfo_args args) throws org.apache.thrift.TException {
-        sendMetaInfo_result result = new sendMetaInfo_result();
-        iface.sendMetaInfo(args.intpGroupId, args.json);
-        return result;
-      }
-    }
-
     public static class sendParagraphInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, sendParagraphInfo_args> {
       public sendParagraphInfo() {
         super("sendParagraphInfo");
@@ -1413,7 +1332,6 @@ public class RemoteInterpreterEventService {
       processMap.put("addAngularObject", new addAngularObject());
       processMap.put("updateAngularObject", new updateAngularObject());
       processMap.put("removeAngularObject", new removeAngularObject());
-      processMap.put("sendMetaInfo", new sendMetaInfo());
       processMap.put("sendParagraphInfo", new sendParagraphInfo());
       processMap.put("getAllResources", new getAllResources());
       processMap.put("getResource", new getResource());
@@ -1971,56 +1889,6 @@ public class RemoteInterpreterEventService {
       }
     }
 
-    public static class sendMetaInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, sendMetaInfo_args, Void> {
-      public sendMetaInfo() {
-        super("sendMetaInfo");
-      }
-
-      public sendMetaInfo_args getEmptyArgsInstance() {
-        return new sendMetaInfo_args();
-      }
-
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            sendMetaInfo_result result = new sendMetaInfo_result();
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            sendMetaInfo_result result = new sendMetaInfo_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, sendMetaInfo_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.sendMetaInfo(args.intpGroupId, args.json,resultHandler);
-      }
-    }
-
     public static class sendParagraphInfo<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, sendParagraphInfo_args, Void> {
       public sendParagraphInfo() {
         super("sendParagraphInfo");
@@ -9490,720 +9358,6 @@ public class RemoteInterpreterEventService {
 
   }
 
-  public static class sendMetaInfo_args implements org.apache.thrift.TBase<sendMetaInfo_args, sendMetaInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<sendMetaInfo_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("sendMetaInfo_args");
-
-    private static final org.apache.thrift.protocol.TField INTP_GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("intpGroupId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField JSON_FIELD_DESC = new org.apache.thrift.protocol.TField("json", org.apache.thrift.protocol.TType.STRING, (short)2);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new sendMetaInfo_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new sendMetaInfo_argsTupleSchemeFactory());
-    }
-
-    public String intpGroupId; // required
-    public String json; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      INTP_GROUP_ID((short)1, "intpGroupId"),
-      JSON((short)2, "json");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // INTP_GROUP_ID
-            return INTP_GROUP_ID;
-          case 2: // JSON
-            return JSON;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.INTP_GROUP_ID, new org.apache.thrift.meta_data.FieldMetaData("intpGroupId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.JSON, new org.apache.thrift.meta_data.FieldMetaData("json", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendMetaInfo_args.class, metaDataMap);
-    }
-
-    public sendMetaInfo_args() {
-    }
-
-    public sendMetaInfo_args(
-      String intpGroupId,
-      String json)
-    {
-      this();
-      this.intpGroupId = intpGroupId;
-      this.json = json;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public sendMetaInfo_args(sendMetaInfo_args other) {
-      if (other.isSetIntpGroupId()) {
-        this.intpGroupId = other.intpGroupId;
-      }
-      if (other.isSetJson()) {
-        this.json = other.json;
-      }
-    }
-
-    public sendMetaInfo_args deepCopy() {
-      return new sendMetaInfo_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.intpGroupId = null;
-      this.json = null;
-    }
-
-    public String getIntpGroupId() {
-      return this.intpGroupId;
-    }
-
-    public sendMetaInfo_args setIntpGroupId(String intpGroupId) {
-      this.intpGroupId = intpGroupId;
-      return this;
-    }
-
-    public void unsetIntpGroupId() {
-      this.intpGroupId = null;
-    }
-
-    /** Returns true if field intpGroupId is set (has been assigned a value) and false otherwise */
-    public boolean isSetIntpGroupId() {
-      return this.intpGroupId != null;
-    }
-
-    public void setIntpGroupIdIsSet(boolean value) {
-      if (!value) {
-        this.intpGroupId = null;
-      }
-    }
-
-    public String getJson() {
-      return this.json;
-    }
-
-    public sendMetaInfo_args setJson(String json) {
-      this.json = json;
-      return this;
-    }
-
-    public void unsetJson() {
-      this.json = null;
-    }
-
-    /** Returns true if field json is set (has been assigned a value) and false otherwise */
-    public boolean isSetJson() {
-      return this.json != null;
-    }
-
-    public void setJsonIsSet(boolean value) {
-      if (!value) {
-        this.json = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case INTP_GROUP_ID:
-        if (value == null) {
-          unsetIntpGroupId();
-        } else {
-          setIntpGroupId((String)value);
-        }
-        break;
-
-      case JSON:
-        if (value == null) {
-          unsetJson();
-        } else {
-          setJson((String)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case INTP_GROUP_ID:
-        return getIntpGroupId();
-
-      case JSON:
-        return getJson();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case INTP_GROUP_ID:
-        return isSetIntpGroupId();
-      case JSON:
-        return isSetJson();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof sendMetaInfo_args)
-        return this.equals((sendMetaInfo_args)that);
-      return false;
-    }
-
-    public boolean equals(sendMetaInfo_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_intpGroupId = true && this.isSetIntpGroupId();
-      boolean that_present_intpGroupId = true && that.isSetIntpGroupId();
-      if (this_present_intpGroupId || that_present_intpGroupId) {
-        if (!(this_present_intpGroupId && that_present_intpGroupId))
-          return false;
-        if (!this.intpGroupId.equals(that.intpGroupId))
-          return false;
-      }
-
-      boolean this_present_json = true && this.isSetJson();
-      boolean that_present_json = true && that.isSetJson();
-      if (this_present_json || that_present_json) {
-        if (!(this_present_json && that_present_json))
-          return false;
-        if (!this.json.equals(that.json))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_intpGroupId = true && (isSetIntpGroupId());
-      list.add(present_intpGroupId);
-      if (present_intpGroupId)
-        list.add(intpGroupId);
-
-      boolean present_json = true && (isSetJson());
-      list.add(present_json);
-      if (present_json)
-        list.add(json);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(sendMetaInfo_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetIntpGroupId()).compareTo(other.isSetIntpGroupId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIntpGroupId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.intpGroupId, other.intpGroupId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetJson()).compareTo(other.isSetJson());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetJson()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.json, other.json);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("sendMetaInfo_args(");
-      boolean first = true;
-
-      sb.append("intpGroupId:");
-      if (this.intpGroupId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.intpGroupId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("json:");
-      if (this.json == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.json);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class sendMetaInfo_argsStandardSchemeFactory implements SchemeFactory {
-      public sendMetaInfo_argsStandardScheme getScheme() {
-        return new sendMetaInfo_argsStandardScheme();
-      }
-    }
-
-    private static class sendMetaInfo_argsStandardScheme extends StandardScheme<sendMetaInfo_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, sendMetaInfo_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // INTP_GROUP_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.intpGroupId = iprot.readString();
-                struct.setIntpGroupIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // JSON
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.json = iprot.readString();
-                struct.setJsonIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, sendMetaInfo_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.intpGroupId != null) {
-          oprot.writeFieldBegin(INTP_GROUP_ID_FIELD_DESC);
-          oprot.writeString(struct.intpGroupId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.json != null) {
-          oprot.writeFieldBegin(JSON_FIELD_DESC);
-          oprot.writeString(struct.json);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class sendMetaInfo_argsTupleSchemeFactory implements SchemeFactory {
-      public sendMetaInfo_argsTupleScheme getScheme() {
-        return new sendMetaInfo_argsTupleScheme();
-      }
-    }
-
-    private static class sendMetaInfo_argsTupleScheme extends TupleScheme<sendMetaInfo_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, sendMetaInfo_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetIntpGroupId()) {
-          optionals.set(0);
-        }
-        if (struct.isSetJson()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetIntpGroupId()) {
-          oprot.writeString(struct.intpGroupId);
-        }
-        if (struct.isSetJson()) {
-          oprot.writeString(struct.json);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, sendMetaInfo_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.intpGroupId = iprot.readString();
-          struct.setIntpGroupIdIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.json = iprot.readString();
-          struct.setJsonIsSet(true);
-        }
-      }
-    }
-
-  }
-
-  public static class sendMetaInfo_result implements org.apache.thrift.TBase<sendMetaInfo_result, sendMetaInfo_result._Fields>, java.io.Serializable, Cloneable, Comparable<sendMetaInfo_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("sendMetaInfo_result");
-
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new sendMetaInfo_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new sendMetaInfo_resultTupleSchemeFactory());
-    }
-
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-;
-
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(sendMetaInfo_result.class, metaDataMap);
-    }
-
-    public sendMetaInfo_result() {
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public sendMetaInfo_result(sendMetaInfo_result other) {
-    }
-
-    public sendMetaInfo_result deepCopy() {
-      return new sendMetaInfo_result(this);
-    }
-
-    @Override
-    public void clear() {
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof sendMetaInfo_result)
-        return this.equals((sendMetaInfo_result)that);
-      return false;
-    }
-
-    public boolean equals(sendMetaInfo_result that) {
-      if (that == null)
-        return false;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(sendMetaInfo_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-      }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("sendMetaInfo_result(");
-      boolean first = true;
-
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class sendMetaInfo_resultStandardSchemeFactory implements SchemeFactory {
-      public sendMetaInfo_resultStandardScheme getScheme() {
-        return new sendMetaInfo_resultStandardScheme();
-      }
-    }
-
-    private static class sendMetaInfo_resultStandardScheme extends StandardScheme<sendMetaInfo_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, sendMetaInfo_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, sendMetaInfo_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class sendMetaInfo_resultTupleSchemeFactory implements SchemeFactory {
-      public sendMetaInfo_resultTupleScheme getScheme() {
-        return new sendMetaInfo_resultTupleScheme();
-      }
-    }
-
-    private static class sendMetaInfo_resultTupleScheme extends TupleScheme<sendMetaInfo_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, sendMetaInfo_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, sendMetaInfo_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-      }
-    }
-
-  }
-
   public static class sendParagraphInfo_args implements org.apache.thrift.TBase<sendParagraphInfo_args, sendParagraphInfo_args._Fields>, java.io.Serializable, Cloneable, Comparable<sendParagraphInfo_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("sendParagraphInfo_args");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
index 1931971..3938bbb 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterResult implements org.apache.thrift.TBase<RemoteInterpreterResult, RemoteInterpreterResult._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteInterpreterResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteInterpreterResult");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
index 56b4d05..5b50eaf 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterResultMessage.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterResultMessage implements org.apache.thrift.TBase<RemoteInterpreterResultMessage, RemoteInterpreterResultMessage._Fields>, java.io.Serializable, Cloneable, Comparable<RemoteInterpreterResultMessage> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RemoteInterpreterResultMessage");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
index b34ba15..410c2e8 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterService.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RemoteInterpreterService {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
index 308364f..96fb87a 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RunParagraphsEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class RunParagraphsEvent implements org.apache.thrift.TBase<RunParagraphsEvent, RunParagraphsEvent._Fields>, java.io.Serializable, Cloneable, Comparable<RunParagraphsEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RunParagraphsEvent");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
index f31c69e..cdcd057 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/ZeppelinServerResourceParagraphRunner.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-5-29")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2018-6-19")
 public class ZeppelinServerResourceParagraphRunner implements org.apache.thrift.TBase<ZeppelinServerResourceParagraphRunner, ZeppelinServerResourceParagraphRunner._Fields>, java.io.Serializable, Cloneable, Comparable<ZeppelinServerResourceParagraphRunner> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ZeppelinServerResourceParagraphRunner");
 

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-interpreter/src/main/thrift/RemoteInterpreterEventService.thrift
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/thrift/RemoteInterpreterEventService.thrift b/zeppelin-interpreter/src/main/thrift/RemoteInterpreterEventService.thrift
index 6d245c5..a99d0ee 100644
--- a/zeppelin-interpreter/src/main/thrift/RemoteInterpreterEventService.thrift
+++ b/zeppelin-interpreter/src/main/thrift/RemoteInterpreterEventService.thrift
@@ -102,7 +102,6 @@ service RemoteInterpreterEventService {
   void updateAngularObject(1: string intpGroupId, 2: string json);
   void removeAngularObject(1: string intpGroupId, 2: string noteId, 3: string paragraphId, 4: string name);
 
-  void sendMetaInfo(1: string intpGroupId, 2: string json);
   void sendParagraphInfo(1: string intpGroupId, 2: string json);
 
   list<string> getAllResources(1: string intpGroupId);

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
index 2960f37..b6a39b3 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/InterpreterRestApi.java
@@ -31,7 +31,6 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
@@ -39,7 +38,6 @@ import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 
@@ -255,22 +253,6 @@ public class InterpreterRestApi {
   }
 
   /**
-   * Get metadata values.
-   */
-  @GET
-  @Path("metadata/{settingId}")
-  @ZeppelinApi
-  public Response getMetaInfo(@Context HttpServletRequest req,
-      @PathParam("settingId") String settingId) {
-    InterpreterSetting interpreterSetting = interpreterSettingManager.get(settingId);
-    if (interpreterSetting == null) {
-      return new JsonResponse<>(Status.NOT_FOUND).build();
-    }
-    Map<String, String> infos = interpreterSetting.getInfos();
-    return new JsonResponse<>(Status.OK, "metadata", infos).build();
-  }
-
-  /**
    * Delete repository.
    *
    * @param repoId ID of repository

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/adf83a3f/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
index 43f909a..d117486 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java
@@ -2533,13 +2533,6 @@ public class NotebookServer extends WebSocketServlet
         new Message(OP.INTERPRETER_SETTINGS).put("interpreterSettings", availableSettings)));
   }
 
-  @Override
-  public void onMetaInfosReceived(String settingId, Map<String, String> metaInfos) {
-    InterpreterSetting interpreterSetting =
-        notebook().getInterpreterSettingManager().get(settingId);
-    interpreterSetting.setInfos(metaInfos);
-  }
-
   private void switchConnectionToWatcher(NotebookSocket conn, Message messagereceived) {
     if (!isSessionAllowedToSwitchToWatcher(conn)) {
       LOG.error("Cannot switch this client to watcher, invalid security key");