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 2020/10/13 09:36:02 UTC

[zeppelin] branch branch-0.9 updated: [ZEPPELIN-5060] Disabled paragraph cause Zeppelin notebook to hang

This is an automated email from the ASF dual-hosted git repository.

zjffdu pushed a commit to branch branch-0.9
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/branch-0.9 by this push:
     new 95aea09  [ZEPPELIN-5060] Disabled paragraph cause Zeppelin notebook to hang
95aea09 is described below

commit 95aea09ecee78bb605013329fa32e1906ba2aea4
Author: Timo Olkkonen <ti...@gmail.com>
AuthorDate: Sat Oct 3 12:56:00 2020 +0300

    [ZEPPELIN-5060] Disabled paragraph cause Zeppelin notebook to hang
    
    ### What is this PR for?
    
    When trying to run a disabled paragraph, backend hangs because the paragraph is not started, but we are still waiting for it to finish. Instead, we should skip it just like empty paragraphs.
    
    Also, we need to change paragraph state to pending, so next state change to finished is broadcasted to client.
    
    ### What type of PR is it?
    
    Bug Fix
    
    ### Todos
    
    ### What is the Jira issue?
    
    https://issues.apache.org/jira/browse/ZEPPELIN-5060
    
    ### How should this be tested?
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    
    Author: Timo Olkkonen <ti...@gmail.com>
    
    Closes #3932 from olkkoti/ZEPPELIN-5060 and squashes the following commits:
    
    9de27f072 [Timo Olkkonen] Update integration test: disabled paragraph should be FINISHED after run all.
    921e3dfdb [Timo Olkkonen] Set Paragraph status to Pending at start of execution, and skip if it is disabled.
---
 .../java/org/apache/zeppelin/integration/ParagraphActionsIT.java | 2 +-
 .../src/main/java/org/apache/zeppelin/notebook/Paragraph.java    | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java b/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
index c6a11eb..a3e08b1 100644
--- a/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
+++ b/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
@@ -226,7 +226,7 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
       ZeppelinITUtils.sleep(2000, false);
 
       collector.checkThat("Paragraph status is ",
-          getParagraphStatus(1), CoreMatchers.equalTo("PENDING")
+          getParagraphStatus(1), CoreMatchers.equalTo("FINISHED")
       );
 
       driver.navigate().refresh();
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
index 689ecfd..1938298 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
@@ -347,17 +347,24 @@ public class Paragraph extends JobWithProgressPoller<InterpreterResult> implemen
               = interpreterSetting.getConfig(interpreter.getClassName());
       mergeConfig(config);
 
+      setStatus(Status.PENDING);
+
       if (shouldSkipRunParagraph()) {
         LOGGER.info("Skip to run blank paragraph. {}", getId());
         setStatus(Job.Status.FINISHED);
         return true;
       }
 
-      if (getConfig().get("enabled") == null || (Boolean) getConfig().get("enabled")) {
+      if (isEnabled()) {
         setAuthenticationInfo(getAuthenticationInfo());
         interpreter.getScheduler().submit(this);
+       } else {
+        LOGGER.info("Skip disabled paragraph. {}", getId());
+        setStatus(Job.Status.FINISHED);
+        return true;
       }
 
+
       if (blocking) {
         while (!getStatus().isCompleted()) {
           try {