You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by cd...@apache.org on 2023/03/07 00:04:23 UTC

[submarine] branch master updated: SUBMARINE-1349. Fix the syntax error reported in sonarcloud and add init value for apiversion in XGboostjobList.java

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

cdmikechen 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 279393ad SUBMARINE-1349. Fix the syntax error reported in sonarcloud and add init value for apiversion in XGboostjobList.java
279393ad is described below

commit 279393ad4dddfd8736ed44a31eb578c91d5f1aa7
Author: HH <hh...@gmail.com>
AuthorDate: Tue Feb 28 16:24:36 2023 +0800

    SUBMARINE-1349. Fix the syntax error reported in sonarcloud and add init value for apiversion in XGboostjobList.java
    
    ### What is this PR for?
    
    1. Fix the syntax error reported in sonarcloud
    2. Add init value for apiversion in XGboostjobList.java
    3. change the following class to a singleton, [ModelVersionService.java](https://github.com/apache/submarine/pull/1020/files#diff-0b498de1dff04b42428e969cc3e0fb1376b75b9f33db4ae8d9740c7e1a2e43be), [RegisteredModelService.java](https://github.com/apache/submarine/pull/1020/files#diff-5894fdc7eea50e5065c43846308e16847562089db57b207ea23ceef86c639668),[RegisteredModelTagService.java](https://github.com/apache/submarine/pull/1020/files#diff-56494d2d82488701eb8e3738e8ff3835a27e7f5add8c9d342 [...]
    
    ### What type of PR is it?
    Bug Fix
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    [SUBMARINE-1349](https://issues.apache.org/jira/browse/SUBMARINE-1349)
    ### How should this be tested?
    <!--
    * First time? Setup Travis CI as described on https://submarine.apache.org/contribution/contributions.html#continuous-integration
    * Strongly recommended: add automated unit tests for any new or changed behavior
    * Outline any manual steps to test the PR here.
    -->
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Do the license files need updating? No
    * Are there breaking changes for older versions? No
    * Does this need new documentation? No
    
    Author: HH <hh...@gmail.com>
    
    Signed-off-by: cdmikechen <cd...@apache.org>
    
    Closes #1020 from hhcs9527/SUBMARINE-1349 and squashes the following commits:
    
    fad6b5a2 [HH] SUBMARINE-1349. export localhost for CI .
    f73915ec [HH] SUBMARINE-1349. Change the minio client initialization to local host when clientTest.
    725b978f [HH] SUBMARINE-1349. Remove indentdent.
    f0263c8e [HH] SUBMARINE-1349. Add BeforeClass to change submarine endpoint before testing.
    64f9b4fc [HH] SUBMARINE-1349. Change the enum class for singleton and add unit-test to cover it.
    bf4918a3 [HH] SUBMARINE-1349. Fix check error by re-uesing get Instance, since the usage of conf may be used in both staitc and non-static.
    fc16e0d5 [HH] SUBMARINE-1349. Fix check error by remove the static when declaring SubmarineConfiguration conf.
    2d29e99e [HH] SUBMARINE-1349. Fix check error.
    cc4365b0 [HH] SUBMARINE-1349. Fix check error.
    c5136135 [HH] SUBMARINE-1349. Fix check error.
    b1ccac1a [HH] SUBMARINE-1349. Fix check error.
    3893d017 [HH] SUBMARINE-1349. Change the Client to be singleton with enum class.
    0e95639f [HH] SUBMARINE-1349. Fix for the style check.
    eaccfbcc [HH] SUBMARINE-1349. Fix for the style check.
    8ab7029e [HH] SUBMARINE-1349. Fix for the style check.
    6b3b3118 [HH] SUBMARINE-1349. Fix the syntax error reported in sonarcloud, add init value for kind in XGboostjobList.java and make some class to be singleton.
    5f756bc0 [HH] SUBMARINE-1349. Fix the syntax error reported in sonarcloud and add init value for apiversion in XGboostjobList.java
---
 .github/workflows/master.yml                       |  1 +
 .../submarine/server/manager/ModelManager.java     | 14 ++++-----
 .../server/manager/ModelVersionManager.java        | 16 +++++-----
 .../server/manager/RegisteredModelManager.java     | 20 ++++++------
 .../submarine/server/rest/ExperimentRestApi.java   |  2 +-
 .../org/apache/submarine/server/s3/Client.java     | 36 ++++++++++------------
 .../server/rest/ModelVersionRestApiTest.java       |  4 +--
 .../server/rest/RegisteredModelRestApiTest.java    |  2 +-
 .../org/apache/submarine/server/s3/ClientTest.java | 21 +++++++++++--
 .../model/service/ModelVersionService.java         |  7 +++++
 .../model/service/RegisteredModelService.java      |  8 +++++
 .../model/service/RegisteredModelTagService.java   |  7 +++++
 .../server/database/model/ModelVersionTagTest.java |  4 +--
 .../server/database/model/ModelVersionTest.java    |  4 +--
 .../database/model/RegisteredModelServiceTest.java |  2 +-
 .../model/RegisteredModelTagServiceTest.java       |  4 +--
 .../k8s/model/xgboostjob/XGBoostJobList.java       |  6 ++--
 17 files changed, 96 insertions(+), 62 deletions(-)

diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index 3bc7f27e..02b04f34 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -436,6 +436,7 @@ jobs:
           TEST_MODULES: "-pl :submarine-server-core"
         run: |
           echo ">>> mvn $TEST_FLAG $TEST_MODULES -B"
+          export SUBMARINE_S3_ENDPOINT=http://localhost:9000
           mvn $TEST_FLAG $TEST_MODULES -B
       - name: Build submarine-serve
         env:
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelManager.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelManager.java
index 378dd0dd..c0f261d5 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelManager.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelManager.java
@@ -56,13 +56,13 @@ public class ModelManager {
    *
    * @return object
    */
+  private static class ModelManagerHolder {
+    private static ModelManager manager = new ModelManager(SubmitterManager.loadSubmitter(),
+                                                            ModelVersionService.getInstance());
+  }
+
   public static ModelManager getInstance() {
-    if (manager == null) {
-      synchronized (ModelManager.class) {
-        manager = new ModelManager(SubmitterManager.loadSubmitter(), new ModelVersionService());
-      }
-    }
-    return manager;
+    return ModelManager.ModelManagerHolder.manager;
   }
 
   /**
@@ -141,7 +141,7 @@ public class ModelManager {
   }
 
   private void transferDescription(ServeSpec spec) {
-    Client s3Client = new Client();
+    Client s3Client = Client.getInstance();
     String modelUniquePath = String.format("%s-%d-%s",
         spec.getModelName(), spec.getModelVersion(), spec.getModelId());
     String res  = new String(s3Client.downloadArtifact(String.format("registry/%s/%s/%d/description.json",
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelVersionManager.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelVersionManager.java
index cbfc18d0..8b8d4963 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelVersionManager.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/ModelVersionManager.java
@@ -50,16 +50,14 @@ public class ModelVersionManager {
    *
    * @return object
    */
+  private static class ModelVersionManagerHolder {
+    private static ModelVersionManager manager = new ModelVersionManager(ModelVersionService.getInstance(),
+                                                                        new ModelVersionTagService(),
+                                                                        Client.getInstance());
+  }
+
   public static ModelVersionManager getInstance() {
-    if (manager == null) {
-      synchronized (ModelVersionManager.class) {
-        if (manager == null) {
-          manager = new ModelVersionManager(new ModelVersionService(), new ModelVersionTagService(),
-            new Client());
-        }
-      }
-    }
-    return manager;
+    return ModelVersionManager.ModelVersionManagerHolder.manager;
   }
 
   @VisibleForTesting
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/RegisteredModelManager.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/RegisteredModelManager.java
index f8a94dc8..807b09e6 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/RegisteredModelManager.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/manager/RegisteredModelManager.java
@@ -37,7 +37,6 @@ import org.apache.submarine.server.s3.Client;
  * Registered model manager.
  */
 public class RegisteredModelManager {
-  private static RegisteredModelManager manager;
   /* Registered model service */
   private final RegisteredModelService registeredModelService;
 
@@ -54,16 +53,17 @@ public class RegisteredModelManager {
    *
    * @return object
    */
+
+  private static class RegisteredModelManagerHolder {
+    private static RegisteredModelManager manager = new RegisteredModelManager(
+                                                          RegisteredModelService.getInstance(),
+                                                          ModelVersionService.getInstance(),
+                                                          RegisteredModelTagService.getInstance(),
+                                                          Client.getInstance());
+  }
+
   public static RegisteredModelManager getInstance() {
-    if (manager == null) {
-      synchronized (RegisteredModelManager.class) {
-        if (manager == null) {
-          manager = new RegisteredModelManager(new RegisteredModelService(), new ModelVersionService(),
-              new RegisteredModelTagService(), new Client());
-        }
-      }
-    }
-    return manager;
+    return RegisteredModelManager.RegisteredModelManagerHolder.manager;
   }
 
   @VisibleForTesting
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/rest/ExperimentRestApi.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/rest/ExperimentRestApi.java
index f9a1c45b..fc65ed45 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/rest/ExperimentRestApi.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/rest/ExperimentRestApi.java
@@ -58,7 +58,7 @@ import org.apache.submarine.server.utils.response.JsonResponse;
 @Produces({MediaType.APPLICATION_JSON + "; " + RestConstants.CHARSET_UTF8})
 public class ExperimentRestApi {
   private ExperimentManager experimentManager = ExperimentManager.getInstance();
-  private final Client minioClient = new Client();
+  private final Client minioClient = Client.getInstance();
 
   @VisibleForTesting
   public void setExperimentManager(ExperimentManager experimentManager) {
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/s3/Client.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/s3/Client.java
index fd397144..4edf0eaa 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/s3/Client.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/s3/Client.java
@@ -45,30 +45,26 @@ import org.apache.submarine.commons.utils.exception.SubmarineRuntimeException;
 /**
  * S3(Minio) default client
  */
-public class Client {
-
-  /* minio client */
-  public MinioClient minioClient;
+public enum Client {
+  INSTANCE(SubmarineConfiguration.getInstance().getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ENDPOINT));
 
   /* submarine config */
-  private static final SubmarineConfiguration conf = SubmarineConfiguration.getInstance();
-
-  public Client() {
-    minioClient = MinioClient.builder()
-        .endpoint(conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ENDPOINT))
-        .credentials(
-            conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ACCESS_KEY_ID),
-            conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_SECRET_ACCESS_KEY)
-        ).build();
+  private final SubmarineConfiguration conf = SubmarineConfiguration.getInstance();
+
+  /* minio client */
+  private final MinioClient minioClient;
+
+  Client(String endpoint) {
+    this.minioClient =  MinioClient.builder()
+                        .endpoint(endpoint)
+                        .credentials(
+                          conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ACCESS_KEY_ID),
+                          conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_SECRET_ACCESS_KEY)
+                        ).build();
   }
 
-  public Client(String endpoint) {
-    minioClient = MinioClient.builder()
-        .endpoint(endpoint)
-        .credentials(
-            conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ACCESS_KEY_ID),
-            conf.getString(SubmarineConfVars.ConfVars.SUBMARINE_S3_SECRET_ACCESS_KEY)
-        ).build();
+  public static Client getInstance() {
+    return INSTANCE;
   }
 
   /**
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/ModelVersionRestApiTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/ModelVersionRestApiTest.java
index 2a1bc63f..4169ba5d 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/ModelVersionRestApiTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/ModelVersionRestApiTest.java
@@ -55,9 +55,9 @@ public class ModelVersionRestApiTest {
   private final String modelVersionModelType = "experiment_123";
   private final String modelVersionTag = "testTag";
 
-  private final RegisteredModelService registeredModelService = new RegisteredModelService();
+  private final RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
 
-  private final ModelVersionService modelVersionService = new ModelVersionService();
+  private final ModelVersionService modelVersionService = ModelVersionService.getInstance();
 
   private static final GsonBuilder gsonBuilder = new GsonBuilder()
       .registerTypeAdapter(ExperimentId.class, new ExperimentIdSerializer())
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/RegisteredModelRestApiTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/RegisteredModelRestApiTest.java
index c8535b9e..b1f95019 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/RegisteredModelRestApiTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/rest/RegisteredModelRestApiTest.java
@@ -39,7 +39,7 @@ import org.apache.submarine.server.utils.gson.ExperimentIdDeserializer;
 import org.apache.submarine.server.utils.gson.ExperimentIdSerializer;
 
 public class RegisteredModelRestApiTest {
-  private final RegisteredModelService registeredModelService = new RegisteredModelService();
+  private final RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
   private final String registeredModelName = "testRegisteredModel";
   private final String newRegisteredModelName = "newTestRegisteredModel";
   private final String registeredModelDescription = "test registered model description";
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/s3/ClientTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/s3/ClientTest.java
index 7f86e3ae..d3eab75b 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/s3/ClientTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/s3/ClientTest.java
@@ -19,15 +19,19 @@
 
 package org.apache.submarine.server.s3;
 
+import org.apache.submarine.commons.utils.SubmarineConfVars;
+import org.apache.submarine.commons.utils.SubmarineConfiguration;
+
+import org.junit.BeforeClass;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Test;
+import org.junit.Assert;
 
 import java.util.List;
 
 
 public class ClientTest {
-  private final Client client = new Client("http://localhost:9000");
+  private static Client client;
   private final String testExperimentId = "experiment-sample";
 
   @After
@@ -35,6 +39,13 @@ public class ClientTest {
     client.deleteAllArtifacts();
   }
 
+  @BeforeClass
+  public static void init() {
+    SubmarineConfiguration conf = SubmarineConfiguration.getInstance();
+    conf.setString(SubmarineConfVars.ConfVars.SUBMARINE_S3_ENDPOINT, "http://localhost:9000");
+    client = Client.getInstance();
+  }
+
   @Test
   public void testLogArtifactAndDownloadArtifact() {
     String path = "sample_folder/sample_file";
@@ -79,4 +90,10 @@ public class ClientTest {
     response = client.downloadArtifact(copyPath);
     Assert.assertArrayEquals(content, response);
   }
+
+  @Test
+  public void testSingleton() {
+    Client testClient = Client.getInstance();
+    Assert.assertEquals(testClient, client);
+  }
 }
diff --git a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/ModelVersionService.java b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/ModelVersionService.java
index a0560dcc..26fd4982 100644
--- a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/ModelVersionService.java
+++ b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/ModelVersionService.java
@@ -30,6 +30,13 @@ import org.slf4j.LoggerFactory;
 import java.util.List;
 
 public class ModelVersionService {
+  private static class ModelVersionServiceHolder {
+    private static ModelVersionService service = new ModelVersionService();
+  }
+
+  public static ModelVersionService getInstance() {
+    return ModelVersionService.ModelVersionServiceHolder.service;
+  }
 
   private static final Logger LOG = LoggerFactory.getLogger(ModelVersionService.class);
 
diff --git a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelService.java b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelService.java
index 408bd719..0bfa9605 100644
--- a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelService.java
+++ b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelService.java
@@ -31,6 +31,14 @@ import java.util.List;
 
 public class RegisteredModelService {
 
+  private static class RegisteredModelServiceHolder {
+    private static RegisteredModelService service = new RegisteredModelService();
+  }
+
+  public static RegisteredModelService getInstance() {
+    return RegisteredModelService.RegisteredModelServiceHolder.service;
+  }
+
   private static final Logger LOG = LoggerFactory.getLogger(RegisteredModelService.class);
 
   public List<RegisteredModelEntity> selectAll() throws SubmarineRuntimeException {
diff --git a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelTagService.java b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelTagService.java
index c36e3f79..fdbb42c6 100644
--- a/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelTagService.java
+++ b/submarine-server/server-database/src/main/java/org/apache/submarine/server/database/model/service/RegisteredModelTagService.java
@@ -28,6 +28,13 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RegisteredModelTagService {
+  private static class RegisteredModelTagServiceHolder {
+    private static RegisteredModelTagService service = new RegisteredModelTagService();
+  }
+
+  public static RegisteredModelTagService getInstance() {
+    return RegisteredModelTagService.RegisteredModelTagServiceHolder.service;
+  }
 
   private static final Logger LOG = LoggerFactory.getLogger(RegisteredModelTagService.class);
 
diff --git a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTagTest.java b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTagTest.java
index 99e3965a..c551cacb 100644
--- a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTagTest.java
+++ b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTagTest.java
@@ -33,8 +33,8 @@ import org.slf4j.LoggerFactory;
 
 public class ModelVersionTagTest {
   private static final Logger LOG = LoggerFactory.getLogger(ModelVersionTagTest.class);
-  RegisteredModelService registeredModelService = new RegisteredModelService();
-  ModelVersionService modelVersionService = new ModelVersionService();
+  RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
+  ModelVersionService modelVersionService = ModelVersionService.getInstance();
   ModelVersionTagService modelVersionTagService = new ModelVersionTagService();
 
 
diff --git a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTest.java b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTest.java
index 05b5c509..df3830ec 100644
--- a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTest.java
+++ b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/ModelVersionTest.java
@@ -31,8 +31,8 @@ import org.apache.submarine.server.database.model.service.ModelVersionService;
 import org.apache.submarine.server.database.model.service.RegisteredModelService;
 
 public class ModelVersionTest {
-  RegisteredModelService registeredModelService = new RegisteredModelService();
-  ModelVersionService modelVersionService = new ModelVersionService();
+  RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
+  ModelVersionService modelVersionService = ModelVersionService.getInstance();
 
   @After
   public void cleanAll() {
diff --git a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelServiceTest.java b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelServiceTest.java
index 64266be8..0c173ab4 100644
--- a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelServiceTest.java
+++ b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelServiceTest.java
@@ -29,7 +29,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class RegisteredModelServiceTest {
-  RegisteredModelService registeredModelService = new RegisteredModelService();
+  RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
 
   @After
   public void cleanAll() {
diff --git a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelTagServiceTest.java b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelTagServiceTest.java
index c122da32..1deec646 100644
--- a/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelTagServiceTest.java
+++ b/submarine-server/server-database/src/test/java/org/apache/submarine/server/database/model/RegisteredModelTagServiceTest.java
@@ -31,8 +31,8 @@ import org.slf4j.LoggerFactory;
 
 public class RegisteredModelTagServiceTest {
   private static final Logger LOG = LoggerFactory.getLogger(RegisteredModelTagServiceTest.class);
-  RegisteredModelService registeredModelService = new RegisteredModelService();
-  RegisteredModelTagService registeredModelTagService = new RegisteredModelTagService();
+  RegisteredModelService registeredModelService = RegisteredModelService.getInstance();
+  RegisteredModelTagService registeredModelTagService = RegisteredModelTagService.getInstance();
 
   @After
   public void cleanAll() {
diff --git a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/model/xgboostjob/XGBoostJobList.java b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/model/xgboostjob/XGBoostJobList.java
index 13e52209..0fa6861d 100644
--- a/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/model/xgboostjob/XGBoostJobList.java
+++ b/submarine-server/server-submitter/submitter-k8s/src/main/java/org/apache/submarine/server/submitter/k8s/model/xgboostjob/XGBoostJobList.java
@@ -27,10 +27,10 @@ import io.kubernetes.client.openapi.models.V1ListMeta;
 
 public class XGBoostJobList implements KubernetesListObject {
   @SerializedName("apiVersion")
-  private String apiVersion;
+  private String apiVersion = XGBoostJob.CRD_XGBOOST_API_VERSION_V1;
 
   @SerializedName("kind")
-  private String kind;
+  private String kind = XGBoostJob.CRD_XGBOOST_KIND_V1 + "List";
 
   @SerializedName("metadata")
   private V1ListMeta metadata;
@@ -55,6 +55,6 @@ public class XGBoostJobList implements KubernetesListObject {
 
   @Override
   public String getKind() {
-    return XGBoostJob.CRD_XGBOOST_KIND_V1 + "List";
+    return kind;
   }
 }


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