tree c05fa1185344657ffac41638d4cebba3c75fe648
parent fc9bcaed71aa4db1d80b41aeeed2babab5b74d1b
author Kevin Su <pingsutw@apache.org> 1627228051 +0800
committer Kevin <pingsutw@apache.org> 1627229543 +0000

SUBMARINE-951.  Revert SUBMARINE-942. Make experiment ID consistent with TFJob and PyTorch Job

### What is this PR for?
<!-- A few sentences describing the overall goals of the pull request's commits.
First time? Check out the contributing guide - https://submarine.apache.org/contribution/contributions.html
-->
The tests in GitHub action are failed. I'm going to revert this commit.

### What type of PR is it?
[Hot Fix]

### Todos
No

### What is the Jira issue?
<!-- * Open an issue on Jira https://issues.apache.org/jira/browse/SUBMARINE/
* Put link here, and add [SUBMARINE-*Jira number*] in PR title, eg. `SUBMARINE-23. PR title`
-->
### 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.
-->
https://issues.apache.org/jira/browse/SUBMARINE-951
### 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: Kevin Su <pingsutw@apache.org>

Signed-off-by: Kevin <pingsutw@apache.org>

Closes #690 from pingsutw/SUBMARINE-951 and squashes the following commits:

4206256e [Kevin Su] Revert "SUBMARINE-942. Make experiment ID consistent with TFJob and PyTorch Job"
