This is an automated email from the ASF dual-hosted git repository.
byronhsu 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 d67dc67 SUBMARINE-902. Experiment page stuck on loading
d67dc67 is described below
commit d67dc6727d3d81dc3bd61ffac9a06cc86ab782ef
Author: Lisa <[email protected]>
AuthorDate: Mon Jul 5 17:50:06 2021 +0800
SUBMARINE-902. Experiment page stuck on loading
### What is this PR for?
Delete experiment in experimentService when the submitter can't find it.
### What type of PR is it?
[Bug Fix]
### Todos
* [ ] - Task
### What is the Jira issue?
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-902
### How should this be tested?
### 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: Lisa <[email protected]>
Signed-off-by: byronhsu <[email protected]>
Closes #648 from aeioulisa/SUBMARINE-902 and squashes the following commits:
1c3a462a [Lisa] delete experiment when submitter can't find it
---
.../server/experiment/ExperimentManager.java | 27 ++++++++++++++--------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git
a/submarine-server/server-core/src/main/java/org/apache/submarine/server/experiment/ExperimentManager.java
b/submarine-server/server-core/src/main/java/org/apache/submarine/server/experiment/ExperimentManager.java
index ee429a3..1662306 100644
---
a/submarine-server/server-core/src/main/java/org/apache/submarine/server/experiment/ExperimentManager.java
+++
b/submarine-server/server-core/src/main/java/org/apache/submarine/server/experiment/ExperimentManager.java
@@ -156,10 +156,16 @@ public class ExperimentManager {
List<Experiment> experimentList = new ArrayList<>();
List<ExperimentEntity> entities = experimentService.selectAll();
- for (ExperimentEntity entity: entities) {
+ for (ExperimentEntity entity : entities) {
Experiment experiment = buildExperimentFromEntity(entity);
- Experiment foundExperiment =
submitter.findExperiment(experiment.getSpec());
-
+ Experiment foundExperiment;
+ try {
+ foundExperiment = submitter.findExperiment(experiment.getSpec());
+ } catch (SubmarineRuntimeException e) {
+ LOG.warn("Submitter can not find experiment: {}, will delete it",
entity.getId());
+ experimentService.delete(entity.getId());
+ continue;
+ }
LOG.info("Found experiment: {}", foundExperiment.getStatus());
if (status == null ||
status.toLowerCase().equals(foundExperiment.getStatus().toLowerCase())) {
experiment.rebuild(foundExperiment);
@@ -173,7 +179,7 @@ public class ExperimentManager {
/**
* Patch the experiment
*
- * @param id experiment id
+ * @param id experiment id
* @param newSpec spec
* @return object
* @throws SubmarineRuntimeException the service error
@@ -229,7 +235,7 @@ public class ExperimentManager {
List<ExperimentLog> experimentLogList = new ArrayList<>();
List<ExperimentEntity> entities = experimentService.selectAll();
- for (ExperimentEntity entity: entities) {
+ for (ExperimentEntity entity : entities) {
Experiment experiment = buildExperimentFromEntity(entity);
Experiment foundExperiment =
submitter.findExperiment(experiment.getSpec());
@@ -265,8 +271,8 @@ public class ExperimentManager {
experiment.rebuild(foundExperiment);
return submitter.getExperimentLogName(
- experiment.getSpec(),
- experiment.getExperimentId().toString()
+ experiment.getSpec(),
+ experiment.getExperimentId().toString()
);
}
@@ -314,13 +320,14 @@ public class ExperimentManager {
public ExperimentId generateExperimentId() {
return ExperimentId.newInstance(SubmarineServer.getServerTimeStamp(),
- experimentCounter.incrementAndGet());
+ experimentCounter.incrementAndGet());
}
/**
* Create a new experiment instance from entity, and filled
- * 1. experimentId
- * 2. spec
+ * 1. experimentId
+ * 2. spec
+ *
* @param entity
* @return Experiment
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]