Skip to content
This repository has been archived by the owner on Feb 18, 2019. It is now read-only.

Weblogic OutOfMemory caused by getMessages operation call in JMS monitor. #1

Open
ghost opened this issue Mar 17, 2017 · 2 comments
Open

Comments

@ghost
Copy link

ghost commented Mar 17, 2017

Hi,

We noticed an OutOfMemory issue after several weeks, or days sometime. It depends on the number of messages in the queues when the plugin runs. Version of Weblogic is 12.2.1.

The code resposible for this is in the JMS.java file line 172.
curs = (String) connections.invoke(destRTT[x], "getMessages", new Object[]{null, new Integer(0)}, new String[]{"java.lang.String", "java.lang.Integer"});

If we have messages in the queues and we run the plugin to gather the JMSStats, the number of weblogic.messaging.kernel.internal.QueueMessageReference instances doubles. Every time the plugin is run, the amount of instances doubles. I believe is an Oracle bug and we already have ticket with them about this. This is just for your info and you can try it also.

Hopefully this is helpful.
Br,
Alex Damacus.

@ghost
Copy link
Author

ghost commented Mar 24, 2017

Not closing the cursor, the resources are not released.
connections.invoke(destRTT[x], "closeCursor", new Object[]{curs}, new String[]{"java.lang.String"});
http://docs.oracle.com/cd/E57014_01/wls/WLAPI/weblogic/management/runtime/CursorRuntimeMBean.html#closeCursor(java.lang.String)

@Dynatrace-Reinhard-Pilz
Copy link

Dynatrace-Reinhard-Pilz commented Mar 24, 2017

Hi Alex,

Thanks for the hint. We will update the Plugin as soon as possible.

best regards,
Reinhard

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant