[JBoss JIRA] Created: (GTNWSRP-84) ConcurrentModificationException when saving the session in the JCRPersister
by Matt Wringe (JIRA)
ConcurrentModificationException when saving the session in the JCRPersister
---------------------------------------------------------------------------
Key: GTNWSRP-84
URL: https://jira.jboss.org/browse/GTNWSRP-84
Project: GateIn WSRP
Issue Type: Bug
Affects Versions: 2.0.0-Beta
Reporter: Matt Wringe
Assignee: Chris Laprun
Sometimes when saving the session in the JCRPersister, the following error will occur:
09:52:38,213 ERROR [portal:UIPortletActionListener] Problem while serving resource for the portlet: oracle.E:2:default
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at org.exoplatform.services.jcr.impl.core.SessionDataManager.validate(SessionDataManager.java:1371)
at org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1282)
at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:678)
at org.exoplatform.services.jcr.impl.core.SessionImpl.save(SessionImpl.java:934)
at org.gatein.portal.wsrp.state.JCRPersister$WSRPSessionLifeCycle.save(JCRPersister.java:166)
at org.chromattic.core.jcr.SessionWrapperImpl.save(SessionWrapperImpl.java:263)
at org.chromattic.core.DomainSessionImpl._save(DomainSessionImpl.java:583)
at org.chromattic.core.DomainSession.save(DomainSession.java:146)
at org.chromattic.core.api.ChromatticSessionImpl.save(ChromatticSessionImpl.java:223)
at org.gatein.portal.wsrp.state.JCRPersister.closeSession(JCRPersister.java:93)
at org.gatein.portal.wsrp.state.consumer.JCRConsumerRegistry.update(JCRConsumerRegistry.java:116)
at org.gatein.wsrp.consumer.registry.AbstractConsumerRegistry.updateProducerInfo(AbstractConsumerRegistry.java:249)
at org.gatein.wsrp.consumer.ProducerInfo.refreshInfo(ProducerInfo.java:529)
at org.gatein.wsrp.consumer.ProducerInfo.internalRefresh(ProducerInfo.java:474)
at org.gatein.wsrp.consumer.ProducerInfo.detailedRefresh(ProducerInfo.java:340)
at org.gatein.wsrp.consumer.WSRPConsumerImpl.refreshProducerInfo(WSRPConsumerImpl.java:671)
at org.gatein.wsrp.consumer.WSRPConsumerImpl.getMarkupService(WSRPConsumerImpl.java:648)
at org.gatein.wsrp.consumer.handlers.InvocationDispatcher.dispatchAndHandle(InvocationDispatcher.java:100)
at org.gatein.wsrp.consumer.WSRPConsumerImpl.invoke(WSRPConsumerImpl.java:196)
at org.gatein.pc.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:151)
at org.gatein.pc.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:211)
at org.exoplatform.portal.webui.application.UIPortlet.invoke(UIPortlet.java:926)
at org.exoplatform.portal.webui.application.UIPortletActionListener$ServeResourceActionListener.execute(UIPortletActionListener.java:356)
...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[JBoss JIRA] Created: (GTNWSRP-151) PortletModes are not updated over Action urls
by Matt Wringe (JIRA)
PortletModes are not updated over Action urls
---------------------------------------------
Key: GTNWSRP-151
URL: https://jira.jboss.org/browse/GTNWSRP-151
Project: GateIn WSRP
Issue Type: Bug
Affects Versions: 2.0.0-CR02
Reporter: Matt Wringe
Assignee: Matt Wringe
Fix For: 2.0.0-CR02
Portlet Modes are not updated when using an action url. Can be seen when using the NetUnity Portlet Modes and Window States portlet.
For example this will update the portlet mode:
/portal/private/classic/Test/wsrp3/test3?portal:componentId=39edb44e-4905-458c-8de5-50123a80fedf&portal:isSecure=false&portal:portletMode=wsrp:preview
But this will not:
/portal/private/classic/Test/wsrp3/test3?portal:componentId=39edb44e-4905-458c-8de5-50123a80fedf&portal:type=action&portal:isSecure=false&portal:portletMode=wsrp:preview
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[JBoss JIRA] Created: (GTNPORTAL-1536) An exception occurs with the OAuth gadgets
by Trong Tran (JIRA)
An exception occurs with the OAuth gadgets
------------------------------------------
Key: GTNPORTAL-1536
URL: https://jira.jboss.org/browse/GTNPORTAL-1536
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 3.1.0-GA
Environment: JBoss package
Reporter: Trong Tran
Assignee: Trong Tran
Fix For: 3.2.0-GA
When i add a gadget that use OAuth ( http://dirk.balfanz.googlepages.com/contacts.xml for instance ), there will a following exception :
14:56:55,553 WARNING [OAuthModule] Couldn't load key file oauthkey.pem
java.io.FileNotFoundException: oauthkey.pem (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.shindig.common.util.ResourceLoader.open(ResourceLoader.java:49)
at org.exoplatform.portal.gadget.core.ExoOAuthModule$ExoOAuthStoreProvider.loadDefaultKey(ExoOAuthModule.java:114)
at org.exoplatform.portal.gadget.core.ExoOAuthModule$ExoOAuthStoreProvider.<init>(ExoOAuthModule.java:102)
at org.exoplatform.portal.gadget.core.ExoOAuthModule$ExoOAuthStoreProvider$$FastClassByGuice$$85bbe9c0.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
This exception only appears in GateIn JBoss package
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[JBoss JIRA] Created: (GTNPORTAL-1545) Concurrency problem (HashMap used in class ConfigurationManager in multithreaded environment)
by Marek Posolda (JIRA)
Concurrency problem (HashMap used in class ConfigurationManager in multithreaded environment)
---------------------------------------------------------------------------------------------
Key: GTNPORTAL-1545
URL: https://jira.jboss.org/browse/GTNPORTAL-1545
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: WebUI
Affects Versions: 3.1.0-GA
Environment: GateIn trunk (revision 4282) on EAP5
Reporter: Marek Posolda
Attachments: exception-stacktrace.txt
Sometimes I can see exception during startup of performance. Exception is something like:
java.lang.reflect.InvocationTargetException: ...
Caused by: java.lang.Exception: Cannot find the configuration for the component org.exoplatform.portal.webui.container.UIContainerList, configId null
at org.exoplatform.webui.application.WebuiApplication.createUIComponent(WebuiApplication.java:110)
at org.exoplatform.webui.core.UIContainer.addChild(UIContainer.java:197)
at org.exoplatform.portal.webui.portal.UIPortalComposer.<init>(UIPortalComposer.java:97)
... 71 more
Whole stacktrace is attached. I am not seeing it in every test run, only sometimes. And usually the component is different in each case (sometimes it fails with different component that UIContainerList).
After investigation, I founded that problem is in class org.exoplatform.webui.application.ConfigurationManager which is shared by more clients (threads) but it's using HashMap "configs_". This piece of code in ConfigurationManager.getComponentConfig(Class<?> type, String id)
//
Component config = configs_.get(key);
if (config != null)
{
return config;
}
//
process(type);
//
return configs_.get(key);
is read component configuration (in case that this configuration is missing in map) and then it saves into HashMap and returns it. But in multithreaded environment, sometimes can still happen that this method returns null because "config_" HashMap is not thread-safe -> Exception is thrown in WebuiApplication.createUIComponent(WebuiApplication.java:110).
See this article http://java.dzone.com/articles/concurrency-and-hashmap with nice simple example, which is doing very similar scenario as ConfigurationManager.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month