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

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


The following commit(s) were added to refs/heads/master by this push:
     new f43d1f4  add more event type to handle to present notebook status 
correctly
f43d1f4 is described below

commit f43d1f4362759008e9f8ff49b6a5c9cf19d05fb7
Author: FatalLin <fatal...@gmail.com>
AuthorDate: Thu Mar 24 21:30:02 2022 +0800

    add more event type to handle to present notebook status correctly
    
    ### What is this PR for?
    We found out the root cause of incorrect status display is there's couple 
event type we skip before in notebook handler's processing, so I added them in 
the switch case in this PR. For now on, the notebook status would be
    `creating -> pulling -> running -> failed -> pulling -> running -> failed 
-> pulling .....`.
    I also noticed that running status of second or third time retry may 
missed, but looks like this is some kind of bug from k8s, because running state 
is also be jump through when I used `kubectl describe` to get the status of 
pods.
    btw, I can't simulate the deleting failed case, so the issue hadn't been 
handled in this pr.
    
    ### What type of PR is it?
    Bug Fix
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/SUBMARINE-1022
    ### How should this be tested?
    should pass all existing tests.
    ### Screenshots (if appropriate)
    
    
https://user-images.githubusercontent.com/5687317/159927060-0b5e9587-a399-450a-ba1f-4dc6bcfaa765.mov
    
    ### Questions:
    * Do the license files need updating?No
    * Are there breaking changes for older versions?No
    * Does this need new documentation?No
    
    Author: FatalLin <fatal...@gmail.com>
    
    Signed-off-by: Kevin <pings...@apache.org>
    
    Closes #910 from FatalLin/SUBMARINE-1022 and squashes the following commits:
    
    4a5019c6 [FatalLin] add more event type to handle to present notebook 
status correctly
---
 .../apache/submarine/server/k8s/agent/handler/NotebookHandler.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/handler/NotebookHandler.java
 
b/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/handler/NotebookHandler.java
index 378fb80..6452e1e 100644
--- 
a/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/handler/NotebookHandler.java
+++ 
b/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/handler/NotebookHandler.java
@@ -35,7 +35,6 @@ import io.kubernetes.client.util.generic.GenericKubernetesApi;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 import io.kubernetes.client.openapi.ApiException;
 import io.kubernetes.client.openapi.models.CoreV1Event;
 import io.kubernetes.client.util.Watch.Response;
@@ -106,7 +105,6 @@ public class NotebookHandler extends CustomResourceHandler {
     while (true) {
       for (Response<CoreV1Event> event: watcher) {
         String reason = event.object.getReason();
-      
         Object object = null;
         try {
           switch (reason) {
@@ -118,11 +116,13 @@ public class NotebookHandler extends 
CustomResourceHandler {
               restClient.callStatusUpdate(CustomResourceType.Notebook, 
this.resourceId, notebook);
               break;
             case "Started":
+            case "Pulled":
               object = notebookCRClient.get(namespace, 
crName).throwsApiException().getObject();
               notebook = NotebookUtils.parseObject(object, 
NotebookUtils.ParseOpt.PARSE_OPT_GET);
               notebook.setStatus(Notebook.Status.STATUS_RUNNING.getValue());
               restClient.callStatusUpdate(CustomResourceType.Notebook, 
this.resourceId, notebook);
               break;
+            case "BackOff":
             case "Failed":
               object = notebookCRClient.get(namespace, 
crName).throwsApiException().getObject();
               notebook = NotebookUtils.parseObject(object, 
NotebookUtils.ParseOpt.PARSE_OPT_GET);

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@submarine.apache.org
For additional commands, e-mail: dev-h...@submarine.apache.org

Reply via email to