Bug 786196 - Plugins: plugin components should not log stack traces when native system layer (i.e. SIGAR) is not available
Summary: Plugins: plugin components should not log stack traces when native system lay...
Keywords:
Status: NEW
Alias: None
Product: RHQ Project
Classification: Other
Component: Plugins
Version: 4.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Nobody
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-31 17:18 UTC by Ian Springer
Modified: 2024-03-04 13:35 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description Ian Springer 2012-01-31 17:18:25 UTC
Lack of SIGAR is an expected/non-error state, which our core plugins should check for and handle gracefully. It's fine for the plugins to log a warning or info message, but they should not log stack traces or errors.

Here are two cases of this I see in my agent.log file after having started the Agent with the -t command line option:

1) jmx plugin:

2012-01-31 12:07:08,749 WARN  [ResourceContainer.invoker.daemon-1] (rhq.core.pluginapi.inventory.ResourceContext)- Cannot get native process for resource [InternalVM] - discovery failed
java.lang.Exception: Discovery component invocation failed.
	at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsupportedOperationException: No native library available - Cannot get information on this process without native support
	at org.rhq.core.system.JavaSystemInfo.getUnsupportedException(JavaSystemInfo.java:304)
	at org.rhq.core.system.JavaSystemInfo.getThisProcess(JavaSystemInfo.java:170)
	at org.rhq.plugins.jmx.InternalJMXServerDiscoveryComponent.discoverResources(InternalJMXServerDiscoveryComponent.java:50)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:292)
	... 5 more


2) postgres plugin:

2012-01-31 12:07:10,133 ERROR [main] (rhq.core.pc.inventory.InventoryManager)- Exception thrown while activating [Resource[id=10006, type=Postgres Server, key=jdbc:postgresql://127.0.0.1:5432/postgres, name=postgres, parent=jetengine, version=9.0.6]].
org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=10006, type=Postgres Server, key=jdbc:postgresql://127.0.0.1:5432/postgres, name=postgres, parent=jetengine, version=9.0.6].
	at org.rhq.core.pc.inventory.InventoryManager.activateResource(InventoryManager.java:1619)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResourceRecursively(InventoryManager.java:2845)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResourceRecursively(InventoryManager.java:2847)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResources(InventoryManager.java:2806)
	at org.rhq.core.pc.inventory.InventoryManager.initialize(InventoryManager.java:232)
	at org.rhq.core.pc.PluginContainer.startContainerService(PluginContainer.java:431)
	at org.rhq.core.pc.PluginContainer.initialize(PluginContainer.java:282)
	at org.rhq.enterprise.agent.AgentMain.startPluginContainer(AgentMain.java:1888)
	at org.rhq.enterprise.agent.AgentMain.start(AgentMain.java:649)
	at org.rhq.enterprise.agent.AgentMain.main(AgentMain.java:419)
Caused by: java.lang.UnsupportedOperationException: No native library available - Cannot get the process table information without native support
	at org.rhq.core.system.JavaSystemInfo.getUnsupportedException(JavaSystemInfo.java:304)
	at org.rhq.core.system.JavaSystemInfo.getProcesses(JavaSystemInfo.java:160)
	at org.rhq.plugins.postgres.PostgresServerComponent.findProcessInfo(PostgresServerComponent.java:459)
	at org.rhq.plugins.postgres.PostgresServerComponent.start(PostgresServerComponent.java:101)
	at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:552)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)


3)

Comment 1 Mike Foley 2012-02-06 17:02:30 UTC
per bz triage (asantos, ccrouch, mfoley. loleary)


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