Lou DeGenaro created UIMA-4007:
----------------------------------

             Summary: DUCC Web Server (WS) display of Services State and Start 
Start w/hovers
                 Key: UIMA-4007
                 URL: https://issues.apache.org/jira/browse/UIMA-4007
             Project: UIMA
          Issue Type: Improvement
          Components: DUCC
            Reporter: Lou DeGenaro
            Assignee: Lou DeGenaro
            Priority: Minor
             Fix For: 1.1.0-Ducc


1. How is State value calculated?

        case 1) no alert:  value = meta.service-state
        case 2) alert:  value = meta.service-state+"Alert"

        alert in effect when: 
         case 1) meta.submit-error is non-empty
         case 2) (meta.service-healthy is false or meta.service-alive is false) 
and meta.ping-active is true and state is { Available, Starting, Waiting, 
Initializing, Stopped }
                                        There should be no alert for 
Initializing, Starting, and Stopped as a function of service-healthy because it 
is a function of the pinger, which can only be running, or trying to run, in 
Available and Waiting.

Discussion): The cases Starting, Initializing, and Stopped are covered by cases 
1 and/or the StartMode.disabled flag.  Because the pinger is not running 
service-healthy is undefined. 

         case 3) meta.ping_active is false and state is { Available, Waiting }

2. How is State hover calculated?

        hover = ""

        if meta.service-state == "Waiting"  && meta.ping-active is true hover 
+= "Pinger is starting"
          if meta.service-state == "Waiting"  && meta.ping-active is false 
hover += "Pinger is unable to start" (or your preferred language)
       
          Discussion: Waiting+false can happen if the service is ok but the 
pinger is broken.  We don't want to stop the service processes for lots of 
reason but we want it clear that the pinger is not coming back without manual 
intervention.

        if meta.service-state == "Available"
         && meta.ping-active is false  hover += "Pinger is not active"

        if(meta.submit-error is non-empty) hover += meta.submit-error

        if(meta.service-statistics is non-empty) hover += 
meta.service-statistics

          if meta.service-state in (Available, Waiting) && meta.service-healthy 
is false && meta.ping-active is true hover += "Pinger reports poor health" (or 
your preferred language)
         if meta.service-state in (Available, Waiting) && meta.service-alive is 
false && meta.ping-active is true hover += "Service not responding to pinger" 
(or your preferred language)

3. How is Start value calculated?

        Answer: according to the table given by Jim/eae.

         public StartState getStartState() {
          StartState retVal = StartState.Unknown;
          if(isAutostart()) {
           retVal = StartState.Autostart;
          }
          else {
           int ordinality = getStateOrdinality();
           if(ordinality > 3) {
            if(isReference()) {
             retVal = StartState.Reference;
            }
            else {
             retVal = StartState.Manual;
            }
           }
           else if(ordinality < 4) {
            retVal = StartState.Stopped;
           }
          }
          return retVal;
         }

        A second line comprising "Disabled" is added whenever meta.enabled is 
false

4. How is Start hover calculated?

        A hover is added over "Disabled" whenever:

        if(meta.disable-reason is non-empty)  hover  =  meta.disable-reason






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to