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

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


The following commit(s) were added to refs/heads/master by this push:
     new fceb571  [hotifx][ZEPPELIN-4925] fix NPE
fceb571 is described below

commit fceb571ccd24e5e5cb7a1aaefd11e6116c8f2e33
Author: Jeff Zhang <zjf...@apache.org>
AuthorDate: Mon Jul 6 11:45:06 2020 +0800

    [hotifx][ZEPPELIN-4925] fix NPE
---
 .../org/apache/zeppelin/service/JobManagerService.java     |  4 ++--
 .../java/org/apache/zeppelin/socket/NotebookServer.java    | 14 +++++++++-----
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
index c58b5d6..2521226 100644
--- 
a/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
+++ 
b/zeppelin-server/src/main/java/org/apache/zeppelin/service/JobManagerService.java
@@ -81,8 +81,8 @@ public class JobManagerService {
     if (!conf.isJobManagerEnabled()) {
       return new ArrayList<>();
     }
-    List<NoteJobInfo> notesJobInfo = new ArrayList<>();
-    notebook.getNoteStream()
+
+    List<NoteJobInfo> notesJobInfo = notebook.getNoteStream()
             .filter(note -> 
authorizationService.isOwner(context.getUserAndRoles(), note.getId()))
             .map(note -> new NoteJobInfo(note))
             .filter(noteJobInfo -> noteJobInfo.unixTimeLastRun > 
lastUpdateServerUnixTime)
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 cf35d91..41f10f8 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
@@ -506,8 +506,10 @@ public class NotebookServer extends WebSocketServlet
         });
   }
 
-  public void broadcastUpdateNoteJobInfo(long lastUpdateUnixTime) throws 
IOException {
-    getJobManagerService().getNoteJobInfoByUnixTime(lastUpdateUnixTime, null,
+  public void broadcastUpdateNoteJobInfo(Note note, long lastUpdateUnixTime) 
throws IOException {
+    ServiceContext context = new ServiceContext(new AuthenticationInfo(),
+            getNotebookAuthorizationService().getOwners(note.getId()));
+    getJobManagerService().getNoteJobInfoByUnixTime(lastUpdateUnixTime, 
context,
         new 
WebSocketServiceCallback<List<JobManagerService.NoteJobInfo>>(null) {
           @Override
           public void onSuccess(List<JobManagerService.NoteJobInfo> 
notesJobInfo,
@@ -1799,7 +1801,9 @@ public class NotebookServer extends WebSocketServlet
   @Override
   public void onParagraphRemove(Paragraph p) {
     try {
-      
getJobManagerService().getNoteJobInfoByUnixTime(System.currentTimeMillis() - 
5000, null,
+      ServiceContext context = new ServiceContext(new AuthenticationInfo(),
+              
getNotebookAuthorizationService().getOwners(p.getNote().getId()));
+      
getJobManagerService().getNoteJobInfoByUnixTime(System.currentTimeMillis() - 
5000, context,
           new JobManagerServiceCallback());
     } catch (IOException e) {
       LOG.warn("can not broadcast for job manager: " + e.getMessage(), e);
@@ -1809,7 +1813,7 @@ public class NotebookServer extends WebSocketServlet
   @Override
   public void onNoteRemove(Note note, AuthenticationInfo subject) {
     try {
-      broadcastUpdateNoteJobInfo(System.currentTimeMillis() - 5000);
+      broadcastUpdateNoteJobInfo(note, System.currentTimeMillis() - 5000);
     } catch (IOException e) {
       LOG.warn("can not broadcast for job manager: " + e.getMessage(), e);
     }
@@ -1918,7 +1922,7 @@ public class NotebookServer extends WebSocketServlet
     p.setStatusToUserParagraph(p.getStatus());
     broadcastParagraph(p.getNote(), p);
     try {
-      broadcastUpdateNoteJobInfo(System.currentTimeMillis() - 5000);
+      broadcastUpdateNoteJobInfo(p.getNote(), System.currentTimeMillis() - 
5000);
     } catch (IOException e) {
       LOG.error("can not broadcast for job manager {}", e);
     }

Reply via email to