[rhq-project/rhq] 663661: [1133112] Inventory Merge is slow and consumes a l...
by Jay Shaughnessy
Branch: refs/heads/release/jon3.3.x
Home: https://github.com/rhq-project/rhq
Commit: 663661c7ca53ef9b0ca4218262c280d2fef4e252
https://github.com/rhq-project/rhq/commit/663661c7ca53ef9b0ca4218262c280d...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: 2014-08-29 (Fri, 29 Aug 2014)
Changed paths:
M modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java
Log Message:
-----------
[1133112] Inventory Merge is slow and consumes a lot of memory when a parent has many children
In our continuing search for new planets, new civilizations, er, strike that,
our need for better performance, this change ensures we don't pull
child sets unnecessarily during inventory merge. This is very important in
the given use case, but should benefit all inventory merge to some degree.
(cherry picked from commit bdeeef8ab36aed0d7d1f38dcb9d19c8cc8150ca0)
Signed-off-by: Thomas Segismont <tsegismo(a)redhat.com>
9 years, 8 months
[rhq-project/rhq] 2511a1: [BZ 1129910] Fix CL leak in agent plugin & AgentMa...
by Lukas Krejci
Branch: refs/heads/release/jon3.3.x
Home: https://github.com/rhq-project/rhq
Commit: 2511a112f3c1c0f11496172b1381bba32fa65cd4
https://github.com/rhq-project/rhq/commit/2511a112f3c1c0f11496172b1381bba...
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: 2014-08-29 (Fri, 29 Aug 2014)
Changed paths:
M modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentManagement.java
Log Message:
-----------
[BZ 1129910] Fix CL leak in agent plugin & AgentManagement MBean
The AgentManagement MBean is running inside the agent JVM.
When a restart operation of sorts is invoked from within the RHQ
Agent plugin (as its operation), the invocation on the MBean (done
through EMS) inherits the protection domain of the plugin classloader.
But the result of the operation is a new start of the plugin
container (eventually) which will create a whole lot of new
classloaders, all of which will inherit the protection domain and
access control context of the original RHQ agent plugin classloader.
The protection domain holds a reference to the classloader it is
associated with.
As a result all the all the classloaders in the new "incarnation" of
the plugin container will hold a reference to the original plugin
classloader of the agent plugin. This will cause the classes from
that agent plugin to never unload.
Rinse and repeat and you start to get OOMEs and full permgen.
(cherry picked from commit 5d8bd5cbcb1cbde0adcc5b0e7035a05db7150389)
Signed-off-by: Thomas Segismont <tsegismo(a)redhat.com>
9 years, 8 months