Github user DadanielZ commented on a diff in the pull request:
https://github.com/apache/incubator-eagle/pull/412#discussion_r77945175
--- Diff:
eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationManagementServiceImpl.java
---
@@ -112,14 +112,41 @@ public ApplicationEntity
uninstall(ApplicationOperations.UninstallOperation oper
ApplicationContext applicationContext = new ApplicationContext(
applicationProviderService.getApplicationProviderByType(applicationEntity.getDescriptor().getType()).getApplication(),
applicationEntity,config, alertMetadataService);
- // TODO: Check status, skip stop if already STOPPED
+ // TODO: Check status
try {
- applicationContext.onStop();
+ ApplicationEntity.Status status =
applicationEntity.getStatus();
+ switch (status){
+ case STARTING: {
+ LOGGER.info("application is starting, please try it
latter");
--- End diff --
Hi @haoch, I haven't come up with a good solution for "wrong status" case.
For example, if a topology is in "starting" process (this status change is
triggered by user), but somehow this topology has never been started in
storm. In such case, "status" in applicationEntity will never be updated
through "background status update task".
Possible solutions are :
1. Add a check function which is to update status after "starting" or
"stopping", and once failed it will retry until it reaches certain times or the
storm toppology status become "active" or "inactive".
-This solution add more code complexity
2. Or I can remove the "Stopping", "starting", and only keep "installed",
"Inactive", "Active".
- This is much easier. Complex situations like mentioned before doesn't
matter.
Or I can just keep status : "Active, Inactive" for topology, which is much
easier and straight forward.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---