フォーラム

ホーム » Liferay Faces » Liferay Faces - English

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
Thomas Keßler
Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/17 8:24
答え

Thomas Keßler

ランク: New Member

投稿: 4

参加年月日: 2010/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
Neil Griffin
RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/17 9:13
答え

Neil Griffin

LIFERAY STAFF

ランク: Liferay Legend

投稿: 2256

参加年月日: 2005/07/26

最近の投稿

Just curious -- do you have the following set to true in your WEB-INF/web.xml descriptor?

1<context-param>
2 <param-name>[b]com.liferay.faces.bridge.bridgeRequestScopePreserved[/b]</
3param-name>
4 <param-value>[b]true[/b]</param-value>
5</context-param>
Thomas Keßler
RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/18 23:54
答え

Thomas Keßler

ランク: New Member

投稿: 4

参加年月日: 2010/12/20

最近の投稿

Hi,

thanks for you very quick answer!

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

ciao
Thomas
Thomas Keßler
RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/19 0:16
答え

Thomas Keßler

ランク: New Member

投稿: 4

参加年月日: 2010/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
Thomas Keßler
RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/22 4:40
答え

Thomas Keßler

ランク: New Member

投稿: 4

参加年月日: 2010/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

 1    @Override
 2    protected void cleanup() {
 3
 4        // If required, cause the BridgeRequestScope to go out-of-scope.
 5        if ((bridgeContext != null) && !bridgeContext.isBridgeRequestScopePreserved()) {
 6            bridgeRequestScopeCache.remove(bridgeRequestScope.getId());
 7        }
 8
 9        super.cleanup();
10    }



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

ciao
Thomas
Neil Griffin
RE: Memoryleak in Liferay Portletbridge 3.1.0-ga?
2012/10/30 13:26
答え

Neil Griffin

LIFERAY STAFF

ランク: Liferay Legend

投稿: 2256

参加年月日: 2005/07/26

最近の投稿

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