Bug 1400629

Summary: 'Force Shutdown' link removed from Domain topology view even if the server process is alive
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Brian Stansberry <brian.stansberry>
Component: Web ConsoleAssignee: Harald Pehl <hpehl>
Status: CLOSED CURRENTRELEASE QA Contact: Pavel Jelinek <pjelinek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: hbraun, hpehl, jawilson, jkudrnac, mcada, pjelinek, rstancel
Target Milestone: CR1   
Target Release: EAP 6.4.13   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-03 16:40:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1386335, 1393890    
Attachments:
Description Flags
Pathological war
none
Related ear
none
Source for deployments none

Description Brian Stansberry 2016-12-01 16:31:25 UTC
Description of problem:

The console only displays the 'Force Shutdown' link if it believes the server is started. But in some pathological situations, a broken server can fail to shut down when the 'Stop Server' link in clicked, but the DC and console don't communicate that effectively to each other, the console thinks the server is stopped, and no longer displays the 'Force Shutdown' link. The user is forced to use the CLI or OS tools to kill the server.

Since 'Force Shutdown' is used to deal with pathological conditions, the simply solution is to always provide the 'Force Shutdown' link.

Version-Release number of selected component (if applicable):

6.4 CP11

How reproducible:

Always

Steps to Reproduce:
1. Deploy an application to a server group that includes logic that will not let MSC stop a service. I'll attach such an app in a moment; it includes a servlet destroy() method that will never return, resulting in the service used for that servlet never stopping.
2. For one of the servers that has the app deployed, click the 'Stop Server' link.

Actual results:

Server cannot completely stop normally and needs to be killed. But the console reports it as stopped and does not display the 'Force Shutdown' link.

Expected results:

Server cannot completely stop normally and needs to be killed. The console reports it as stopped but continues to display the 'Force Shutdown' link, giving the user the option to kill the server.


Additional info:

I consider improving the server state communication between the domain and the console such that the console doesn't regard the server as stopped as being out of scope here. It's a valid thing to look at upstream, but what I propose here is a simple fail safe.

Comment 1 Brian Stansberry 2016-12-01 16:32:49 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1259767 is the related case the testing work on which surfaced this issue.

Comment 2 Brian Stansberry 2016-12-01 16:34:39 UTC
Created attachment 1226870 [details]
Pathological war

Attached a war with a servlet that does not return from destroy() preventing normal undeploy or shutdown.

Comment 3 Brian Stansberry 2016-12-01 16:36:17 UTC
Created attachment 1226883 [details]
Related ear

Ear that the sample-web2.war *may* depend on. Teresa Miyar Gil of GSS gave me these apps; my impression is the war requires the ear to be deployed. The pathological aspect  of the war isn't really related to the ear though.

Comment 4 Brian Stansberry 2016-12-01 16:37:37 UTC
Created attachment 1226884 [details]
Source for deployments

Source for the attached deployments. Note the source is a bit different from the compiled war, as the source has the pathological bit of the DelayServlet's destroy() method commented out.

Comment 9 Michael Cada 2017-01-09 07:56:43 UTC
Verified with EAP 6.4.13.CP.CR1

Comment 10 Petr Penicka 2017-02-03 16:40:43 UTC
Released with EAP 6.4.13 on Feb 02 2017.