0 Replies Latest reply on Apr 15, 2008 5:43 AM by ssolfaroli

    A couple of bug in clustered environment

    ssolfaroli

      I think I found a couple of bug when using portal in a clustered environment.

      First bug: doing a search in CMSAdminPortlet I obtain a NullPointereException with the stack trace in the portlet window.
      The error orginated in org.jboss.portal.search.impl.jcr.JCRQuery, and the in
      portal-cms.sar\portal-cms.war\WEB-INF\jsp\cms\admin\searchResult.jsp
      is not managed the null value, so the exception in the portlet.
      I solved placing:
      in jsp

      List files = (List)request.getAttribute("files");
       String createDate = "";
       String modifiedDate = "";
       if (files==null) {
       %>
      <h2>Search error</h2>
      <%
       } else if (files.size() > 0)
       {
      

      instead of
      List files = (List)request.getAttribute("files");
       String createDate = "";
       String modifiedDate = "";
       if (files.size() > 0)
       {
      


      The error during the search is this:
      2008-04-12 14:43:08,784 ERROR [org.jboss.portal.jems.ha.HASingletonInvoker] Cannot invoke proxy will no more retry
      java.rmi.MarshalException: error marshalling arguments; nested exception is:
       java.io.NotSerializableException: org.jboss.portal.search.impl.jcr.JCRQuery
       at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
       at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
       at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:133)
       at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
       at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
       at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
       at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
       at $Proxy187.invoke(Unknown Source)
       at org.jboss.portal.jems.ha.HASingletonInvoker.invoke(HASingletonInvoker.java:147)
       at org.jboss.portal.cms.impl.jcr.ha.HAJCRCMS.execute(HAJCRCMS.java:86)
       at sun.reflect.GeneratedMethodAccessor363.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy273.execute(Unknown Source)
       at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.internalDoView(CMSAdminPortlet.java:322)
       at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.doView(CMSAdminPortlet.java:172)
      


      I solved modifing the declaration of org.jboss.portal.search.impl.jcr.JCRQuery so:
      import java.io.Serializable;
      
      public class JCRQuery implements Query, Serializable
      


      instead of

      public class JCRQuery implements Query
      


      After recompiling and replacing the portal-search-lib.jar in jboss-portal.sar\lib search is now working.

      Other error on which I'm still blocked is related to the publish/approval workflow; after activating it, if I try on the jboss instance
      on which is running the CMS singleton it's working fine, on other instance I get this error trying to preview a pending content item:

      Cause: java.lang.RuntimeException: javax.naming.NameNotFoundException: CMS not bound
      Message: javax.naming.NameNotFoundException: CMS not bound
      StackTrace:
      
      java.lang.RuntimeException: javax.naming.NameNotFoundException: CMS not bound
       at org.jboss.portal.cms.workflow.CMSWorkflowUtil.getCMSService(CMSWorkflowUtil.java:116)
       at org.jboss.portal.cms.workflow.CMSWorkflowUtil.getPendingContent(CMSWorkflowUtil.java:55)
       at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.internalDoView(CMSAdminPortlet.java:645)
       at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.doView(CMSAdminPortlet.java:172)
      


      Any hint on what can I try?

      Thanks in advance
      Stefano Solfaroli