掲示板

Memoryleak in Liferay Portletbridge 3.1.0-ga?

11年前 に Thomas Keßler によって更新されました。

Memoryleak in Liferay Portletbridge 3.1.0-ga?

New Member 投稿: 4 参加年月日: 10/12/20 最新の投稿
Hi,

while running load tests we experienced some trouble with the class com.liferay.faces.bridge.scope.BridgeRequestScopeImpl.
VisualVM blamed it to hold an increasing amount the heap, finally 80%.

Our setup is: Weblogic Server 12.1.1, Liferay Portal 5.2 EE SP5, JSF2

Has anyone seen such behaviour before?

ciao
Thomas
thumbnail
11年前 に Neil Griffin によって更新されました。

RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
Just curious -- do you have the following set to true in your WEB-INF/web.xml descriptor?

<context-param>
 <param-name>[b]com.liferay.faces.bridge.bridgeRequestScopePreserved[/b]<!--
param-name-->
 <param-value>[b]true[/b]</param-value>
</param-name></context-param>
11年前 に Thomas Keßler によって更新されました。

RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?

New Member 投稿: 4 参加年月日: 10/12/20 最新の投稿
Hi,

thanks for you very quick answer!

No, the parameter has not been set in the web.xml.

ciao
Thomas
11年前 に Thomas Keßler によって更新されました。

RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?

New Member 投稿: 4 参加年月日: 10/12/20 最新の投稿
Hi,

I've take a look into the sources of the Bridge. It looks like the cleanup-Methods in BridgeRequestScopeManagerImpl are never called on weblogic server 12.1.1 running liferay 5.2.

ciao
Thomas
11年前 に Thomas Keßler によって更新されました。

RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?

New Member 投稿: 4 参加年月日: 10/12/20 最新の投稿
Hi!

I have found the cause of the memory leak. The BridgePhaseRenderImpl did not cleanup the bridgeRequestScopeCache correctly.

Here's the code snippet with my local bugfix of com.liferay.faces.bridge.BridgePhaseRenderImpl::cleanup

	@Override
	protected void cleanup() {

		// If required, cause the BridgeRequestScope to go out-of-scope.
		if ((bridgeContext != null) &amp;&amp; !bridgeContext.isBridgeRequestScopePreserved()) {
			bridgeRequestScopeCache.remove(bridgeRequestScope.getId());
		}

		super.cleanup();
	}



Could you please merge the bugfix into the next releases of the portlet bridge?

ciao
Thomas
thumbnail
11年前 に Neil Griffin によって更新されました。

RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
Hi Thomas,

Thanks so much for reporting this problem. It actually occurs in two places in that class. The bug has been fixed in FACES-1445 and will appear in the next release.

Best Regards,

Neil