Bug 802902 (JOPR-429) - jboss-cache-v3-plugin: Shows invalid "unavailable" state for cache services that are not currently deployed/used in EAP
Summary: jboss-cache-v3-plugin: Shows invalid "unavailable" state for cache services t...
Keywords:
Status: CLOSED EOL
Alias: JOPR-429
Product: JBoss Operations Network
Classification: JBoss
Component: Plugin -- Other
Version: JON 3.2
Hardware: Unspecified
OS: Unspecified
urgent
high
Target Milestone: ---
: ---
Assignee: RHQ Project Maintainer
QA Contact: Mike Foley
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-03-13 17:34 UTC by Larry O'Leary
Modified: 2019-06-17 14:47 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
JON 2.3 with EAP plug-in pack Sun JVM 1.6.0_16 RHEL5 (kernel: 2.6.18-128.el5) jopr-jboss-cache-v3-plugin-2.3.0.GA.jar EAP5 production install/configuration
Last Closed: 2019-06-17 14:47:30 UTC
Type: Enhancement
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 803776 0 urgent VERIFIED Disable exposure of jmx stats for anonymous caches 2023-06-02 07:29:35 UTC
Red Hat Bugzilla 1093822 0 high CLOSED RFE (offshot of JON3-42) : Allow automatic uninventory of dead / missing / removed resources 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 1329697 0 low CLOSED Temporary artemis runtime queues remains in JON as zombies 2021-02-22 00:41:40 UTC
Red Hat Issue Tracker JOPR-429 0 Major Resolved jboss-cache-v3-plugin: Shows invalid "unavailable" state for cache services that are not currently deployed/used in EAP 2018-10-29 07:39:26 UTC
Red Hat Knowledge Base (Solution) 23430 0 None None None Never

Internal Links: 803776 1093822 1329697

Description Larry O'Leary 2012-03-13 17:34:44 UTC
Issue was originally identified as https://issues.jboss.org/browse/JOPR-429

----

When JON discovers JBoss Cache 3 services all seems fine. At some future point all the discovered cache services show an unavailable state. This is because EAP will only deploy the caches that are needed or requested by a deployed application. For example, standard-session-cache is only deployed when a web application that utilizes the session cache is deployed and started.

So, if a user deploys an application to EAP that requires a cache, the cache will be deployed and started. Later, if the application no longer requires the cache or is un-deployed, the user will continue to see this false unavailable state.

To demonstrate:

   1. Make a copy of production configuration as jon-jbcache3-status-issue
      cd ${JBOSS_HOME}/server
      cp -R production jon-jbcache3-status-issue
      cd jon-jbcache3-status-issue/conf/props
      sed -i.orig 's/^# admin=admin/admin=admin/' jmx-console-users.properties
      cd ../../..

      # Statup EAP5 instance using service binding manager
      cd ${JBOSS_HOME}/server/jon-jbcache3-status-issue/log
      rm boot.log cluster.log server.log
      cd ${JBOSS_HOME}/bin
      ./run.sh -c jon-jbcache3-status-issue -Djboss.partition.name=MyPartition -Djboss.platform.mbeanserver -Djboss.service.binding.set=ports-01 -b 0.0.0.0 &
      sleep 10
      # EAP instance should be at http://localhost:8180

      # Startup RHQ-Server
      cd ${JON_HOME}/logs
      rm boot.log rhq-server-log4j.log
      cd ${JON_HOME}/bin
      ./rhq-server.sh start
      sleep 10
      # JON Server should be at http://localhost:7080

      # Startup RHQ-Agent
      cd ${JON_AGENT_HOME}/logs
      rm agent.log
      cd ${JON_AGENT_HOME}/bin
      export RHQ_AGENT_DEBUG=1
      ./rhq-agent-wrapper.sh start
      sleep 10


      * From JON, import the newly deployed EAP instance
      * Once imported and available, expand its JBoss Cache resource
      Notice ha-partition and MyPartition-HAPartitionCache are the only caches listed
      * Expand ha-partition
      Notice all cache services show as available
      * Expand MyPartition-HAPartitionCache
      Notice all cache services show as available

      Deploy the sample counter.war web application:

      cd /tmp
      curl -O http://community.jboss.org/servlet/JiveServlet/download/11823-10-5589/counter.zip
      rm -r counter_DIR
      unzip counter.zip -d counter_DIR
      cp counter_DIR/counter/dist/counter.war ${JBOSS_HOME}/server/jon-jbcache3-status-issue/deploy

    * Wait for EAP to pick-up the new deployment
    * Wait for JON to discover and inventory new WAR
    * Once inventoried and available, expand JBoss Cache resource
      Notice ha-partition, MyPartition-HAPartitionCache, MyPartition-SessionCache, and standard-session-cache are listed
    * Select each of the four cache services
      Notice all cache services show as available

You can also see these cache services via JMX in EAP:
cd ${JBOSS_HOME}/bin
./twiddle.sh -s localhost:1199 -u admin -p admin query 'jboss.cache:*'

    * Un-inventory and remove the counter.war web application (Inventory tab of EAP instance)

At this point (once JON reflects the change in availability), some of the cache services for standard-session-cache and SessionCache will show as unavailable.

If you restart the EAP instance, all the cache services for these two cache resources will show unavailable. This is because as application deployments no longer need the caches service, they are no longer needed.

If the counter.war application is re-deployed, the caches will reflect available again.

It is understood that "unavailable" mean that something is no longer available, but it gives the user a false sense of a failure in this situation.

Comment 2 Mike Foley 2012-03-19 16:16:38 UTC
re-evaluate post 3.1 (per triage asantos, loleary, ccrouch, mfoley)

Comment 3 Heiko W. Rupp 2013-09-10 07:34:58 UTC
We may solve that with the DISABLED availability state

Comment 4 Larry O'Leary 2013-09-10 14:28:09 UTC
I'm not sure DISABLED will help here. Services are deployed as needed. In which case, if an application isn't actively using the session cache for example, the session cache appears to _disappear_.

From what I understand _DISABLE_ not only disables availability checking for the resource but also metric collection? I wouldn't want that. Instead, I would want metrics collected for the resource when they are available. I would also like to know when the resource is active or not-active. And I would like to know if the resource wasn't deployed due to deployment error (i.e. it will never become available).

Comment 13 Larry O'Leary 2014-10-15 18:48:29 UTC
Setting target to 3.4 as this can not be addressed in 3.3.

It also is not yet clear how this can or will be fixed. Please note that there is no 3.4 release planned at this time and this is only being targeted for consideration in a 3.4 release if one comes into existence.

Comment 16 Larry O'Leary 2015-09-24 14:10:52 UTC
Removing the target on this BZ. This needs to be reviewed by product management as a feature/design change. This will allow for proper planning and triage.

Comment 17 Filip Brychta 2019-06-17 14:47:30 UTC
JBoss ON is coming to the end of its product life cycle. For more information regarding this transition, see https://access.redhat.com/articles/3827121.
This bug report/request is being closed. If you feel this issue should not be closed or requires further review, please create a new bug report against the latest supported JBoss ON 3.3 version.


Note You need to log in before you can comment on or make changes to this bug.