Bug 1017654 - JON (3.2.0) server plugin, Infinispan resource is not detected
Summary: JON (3.2.0) server plugin, Infinispan resource is not detected
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: JON Plugin
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 6.2.0
Assignee: Tristan Tarrant
QA Contact: Martin Gencur
URL:
Whiteboard:
Depends On: 1018179 1028047
Blocks: 1010994 1017190
TreeView+ depends on / blocked
 
Reported: 2013-10-10 09:56 UTC by Tomas Sykora
Modified: 2025-02-10 03:28 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-10 03:28:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomas Sykora 2013-10-10 09:56:10 UTC
Testing latest JDG jon-server-plugin (ER2/ER3) on this configuration:

JON 3.2.0.ER3
+ rhq-jboss-as-7-plugin-4.9.0.JON320ER1.jar
+ infinispan-server-rhq-plugin-6.0.0.CR1-redhat-1.jar

Infinispan resource is not exposed under list of respective JDG subsystems.

However, we are able to see Endpoint (= Infinispan Server) resource there.

We suspect this issue is caused by mismatch in product names and "something" else in the latest version of rhq-jboss-as-7-plugin (i.e. 4.9.0) because Infinispan subsystem was visible using rhq-jboss-as-7-plugin 4.4.0.

Comment 1 Tomas Sykora 2013-10-10 10:04:19 UTC
Adding into jdg62blockers.

This is even blocker for further testing of jdg jon-server-plugin in oncoming jdg releases (ERs, Beta, CRs).

Comment 2 Tomas Sykora 2013-10-10 11:05:11 UTC
Ah! I finally found something useful:

org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException: Failed to start component for resource Resource[id=10108, uuid=cfd3c6d8-3a17-4f64-8842-3ae6a05970f3, type={JBossAS7}JBossAS7 Standalone Server, key=hostConfig: /home/hudson/jboss-as-jdg6-node1/standalone/configuration/standalone.xml, name=ISPN (0.0.0.0:9990), parent=auto-jdg-agent1.bc.jonqe.lab.eng.bos.redhat.com, version=ISPN 6.2.0].
	at org.rhq.core.pc.inventory.InventoryManager.activateResource(InventoryManager.java:1937)
	at org.rhq.core.pc.inventory.InventoryManager.refreshResourceComponentState(InventoryManager.java:3371)
	at org.rhq.core.pc.inventory.InventoryManager.mergeResource(InventoryManager.java:3255)
	at org.rhq.core.pc.inventory.InventoryManager.mergeModifiedResources(InventoryManager.java:2964)
	at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1252)
	at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1211)
	at org.rhq.core.pc.inventory.InventoryManager.handleReport(InventoryManager.java:1193)
	at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:126)
	at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:61)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException: The original product type discovered for this AS7 server was Infinispan Server, but the server is now reporting its product type is [JBoss JDG 6].
	at org.rhq.modules.plugins.jbossas7.BaseServerComponent.validateServerAttributes(BaseServerComponent.java:220)
	at org.rhq.modules.plugins.jbossas7.BaseServerComponent.getAvailabilityNow(BaseServerComponent.java:154)
	at org.rhq.modules.plugins.jbossas7.BaseServerComponent.getAvailability(BaseServerComponent.java:139)
	at org.rhq.modules.plugins.jbossas7.BaseServerComponent.start(BaseServerComponent.java:101)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocation.call(ResourceContainer.java:654)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	... 3 more

Comment 3 Tomas Sykora 2013-10-10 12:39:20 UTC
We probably need to change line:

} else if (slot.equals("jdg")) { to 

} else if (slot.equals("jdg") || slot.equals("ispn")) {

here:

https://github.com/rhq-project/rhq-plugins/blob/7179fb5889577fd86f621e932eb69ab538d77ccb/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java

or whip JDG product with product.conf file which contains slot="jdg" instead of slot="ispn" but this is not flexible enough.
Someone maybe needs to monitor community based ispn server.

Therefore, we probably need to change detection mechanism in rhq-jboss-as-7 plugin as our jdg plugin depends on this and its discovering mechanisms.

Comment 5 Tomas Sykora 2013-10-11 07:57:49 UTC
Aforementioned link is deprecated. 

Latest plugins are built using this repo:

https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java

I can see decision flow:

} else if (slot.equals("ispn")) {
    productType = JBossProductType.ISPN;
} else if (slot.equals("jdg")) {
    productType = JBossProductType.JDG;

The problem is cause by some mixture between these 2 types.

"The original product type discovered for this AS7 server was Infinispan Server, but the server is now reporting its product type is [JBoss JDG 6]"

Comment 6 Tomas Sykora 2013-10-11 10:51:44 UTC
Something similar (maybe exactly the same) happened for Portal plug-in.

This is fix for that Portal issue:

https://git.fedorahosted.org/cgit/rhq/rhq.git/commit/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java?id=02ed9c403f3ee1aa7fb1b5f1e1cee5713997fa56

Maybe we need to consider removing JDG or ISPN product type from list.

Our product.conf in ispn server is reporting slot=ispn and I don't think this will change in JDG GA distribution. 

Any thoughts?

Comment 7 Tomas Sykora 2013-10-11 11:14:15 UTC
I've found what's the cause of this problem.

Look at line 216 here:
https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/SubsystemDiscovery.java

boolean ourPluginTypeIsJdg = ourType.getPlugin().equals("JDG");

In SubsystemDiscovery is method (private boolean shouldSkipEntryWrtIspn) which decides about skipping Infinispan subsystem and not registering/showing him.

ourPluginTypeIsJdg is returning FALSE, because our plugin in InfinispanServer is named: InfinispanServer.

Therefore, AS discovery is simply ignoring him.

I will create respective bugzilla for JON jboss-as-7 plugin and suggest changes which should fix it.

I hope it will be enough:
boolean ourPluginTypeIsJdg = (ourType.getPlugin().equals("JDG") || (ourType.getPlugin().equals("InfinispanServer"));

pfff, this was quite tricky.

Comment 8 Tomas Sykora 2013-11-04 09:40:51 UTC
This doesn't need release note for 6.2.BETA release.

Comment 9 Mike Foley 2013-11-07 14:03:51 UTC
this is a blocker for JON 3.2 release

Comment 10 Tomas Sykora 2013-11-25 12:03:53 UTC
Setting NEW -> VERIFIED directly. 
This product-related bug was fixed by renaming plugin from InfinispanServer to JDG during product build.

VERIFIED for ER4.

We are able to see Infinispan resource using ER4 server plug-in and latest JON ER7. And there is only one resource there (correct).

Comment 13 Red Hat Bugzilla 2025-02-10 03:28:43 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


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