5 Replies Latest reply on Feb 28, 2007 1:33 PM by Steve Jewett

    If you encounter a CMS bug that is a showstopper - Workaroun

    Ian White Newbie

      After a short while, my Oracle 9i JBoss Portal stops allowing me to create or change CMS items. (I submitted JIRAs). The DB tables get into an inconsistence state I suspect.

      Luckily the CMS Portlet's export folder function still works.
      So I'm able to export my complete content tree to a zip.
      Then I can delete all the JBP_CMS_* tables and restart my portal.
      Next I use CMS Admin to upload the archive, and I move the folders
      back to where they originally were.

      Seems to work, with one problem encountered:

      CMS upload does not like uploading gifs', because it can't work out their size. So eliminate any from your zip before doing the upload.

      So until the CMS becomes bullet proof, I hope this helps...

        • 1. Re: If you encounter a CMS bug that is a showstopper - Worka
          Sohil Shah Master

          hi-

          this bug should is fixed in portal-2.4 branch

          see here for details: http://jira.jboss.com/jira/browse/JBPORTAL-983


          Thanks

          • 2. Re: If you encounter a CMS bug that is a showstopper - Worka
            Ian White Newbie

            The failure to upload gif files happens in 2.6 Alpha 2.
            It isn't a size issue.

            The real issue is that there is a bug somewhere that puts the DB into an inconsistent state, and the only thing I can do is clean out the tables and reinit the CMS from scratch.

            Thanks anyway

            • 3. Re: If you encounter a CMS bug that is a showstopper - Worka
              Sohil Shah Master

              can you check your jboss-portal.sar/portal-cms.sar/META-INF/jboss-service.xml

              and make sure you are using the JBossCachePersistenceManager and not the HibernatePersistenceManager


              also if you change that blow away the data directory in your server configuration


              Thanks

              • 4. Re: If you encounter a CMS bug that is a showstopper - Worka
                Steve Jewett Newbie

                Hi Sohil,

                We're using: Portal 2.4.1 SP1, JBoss AS 4.0.4 GA, Oracle 8i, Windows XP.

                I'm having a similar problem, so I thought I could post to this topic. My problem is uploading files to CMS. I can upload a file of size 10 or 30 K, but anything larger than about 80K fails. I get SQLException: Closed Connection. I looked at the jboss-service.xml to check the PersistenceManager as you suggested, but I can't which one we're using. It looks like the JBossCachePersistenceManager. Here's the xml file. Am I right?

                 <Repository>
                 <!--
                 | virtual file system where the repository stores global state (e.g. registered namespaces, custom node types, etc.)
                 | Configure to use FS or RDBMS.
                 -->
                
                 <!-- HibernateStore: uses RDBMS + Hibernate for storage -->
                 <FileSystem class="org.jboss.portal.cms.hibernate.HibernateStore">
                 <param name="schemaObjectPrefix" value="RepositoryEntry"/>
                 <param name="JNDIName" value="java:/portal/cms/CMSSessionFactory"/>
                 </FileSystem>
                
                 <!-- LocalFileSystem: uses FileSystem for storage. -->
                 <!--
                 <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                 <param name="path" value="${rep.home}/repository"/>
                 </FileSystem>
                 -->
                 <Security appName="Jackrabbit">
                 <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
                 <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
                 <!-- anonymous user name ('anonymous' is the default value) -->
                 <param name="anonid" value="anonymous"/>
                 </LoginModule>
                 </Security>
                 <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
                 <Workspace name="${wsp.name}">
                 <!-- Virtual file system of the workspace: Configure to use FS or RDBMS. -->
                
                 <!-- HibernateStore: uses RDBMS + Hibernate for storage -->
                 <FileSystem class="org.jboss.portal.cms.hibernate.HibernateStore">
                 <param name="schemaObjectPrefix" value="CMSEntry"/>
                 <param name="JNDIName" value="java:portal/cms/CMSSessionFactory"/>
                 </FileSystem>
                 <!-- LocalFileSystem: uses FileSystem for storage. -->
                 <!--<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                 <param name="path" value="${wsp.home}"/>
                 </FileSystem>-->
                
                 <!--
                 persistence manager of the workspace.
                 Use XMLPersistenceManager for LocalFileSystem Store and HibernatePersistentManager .
                 -->
                
                 <!-- HibernatePersistentManager: uses RDBMS + Hibernate for storage -->
                 <PersistenceManager class="org.jboss.portal.cms.hibernate.state.JBossCachePersistenceManager">
                 <param name="schemaObjectPrefix" value="WSP"/>
                 <param name="JNDIName" value="java:portal/cms/CMSSessionFactory"/>
                 <param name="externalBLOBs" value="false"/>
                 </PersistenceManager>
                
                 <!-- XMLPersistenceManager: uses FileSystem for storage -->
                 <!--<PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>-->
                
                 <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
                 <param name="path" value="${wsp.home}/index"/>
                 <param name="useCompoundFile" value="true"/>
                 <param name="minMergeDocs" value="100"/>
                 <param name="volatileIdleTime" value="3"/>
                 <param name="maxMergeDocs" value="100000"/>
                 <param name="mergeFactor" value="10"/>
                 <param name="bufferSize" value="10"/>
                 <param name="cacheSize" value="1000"/>
                 <param name="forceConsistencyCheck" value="false"/>
                 <param name="autoRepair" value="true"/>
                 </SearchIndex>
                 </Workspace>
                 <Versioning rootPath="${rep.home}/versions">
                 <!--
                 Configures the filesystem to use for versioning for the respective persistence manager
                 Configure to use FS or RDBMS.
                 -->
                
                 <!-- HibernateStore: uses RDBMS + Hibernate for storage -->
                 <FileSystem class="org.jboss.portal.cms.hibernate.HibernateStore">
                 <param name="schemaObjectPrefix" value="VersionEntry"/>
                 <param name="JNDIName" value="java:portal/cms/CMSSessionFactory"/>
                 </FileSystem>
                
                 <!-- LocalFileSystem: uses FileSystem for storage. -->
                 <!--
                 <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                 <param name="path" value="${rep.home}/versions"/>
                 </FileSystem>
                 -->
                
                 <!--
                 Configures the persistence manager to be used for persisting version state.
                 Use XMLPersistenceManager for LocalFileSystem Store and HibernatePersistentManager for HibernateStore.
                 -->
                
                 <!-- HibernatePersistentManager: uses RDBMS + Hibernate for storage -->
                 <PersistenceManager class="org.jboss.portal.cms.hibernate.state.JBossCachePersistenceManager">
                 <param name="schemaObjectPrefix" value="Version"/>
                 <param name="JNDIName" value="java:portal/cms/CMSSessionFactory"/>
                 <param name="externalBLOBs" value="false"/>
                 </PersistenceManager>
                
                 <!-- XMLPersistenceManager: uses FileSystem for storage -->
                 <!--<PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>-->
                 </Versioning>
                 </Repository>
                


                Do you think we need to increase our heap size?

                Any help is appreciated. Thanks!
                -Steve Jewett

                • 5. Re: If you encounter a CMS bug that is a showstopper - Worka
                  Steve Jewett Newbie

                  Sohil -

                  Nevermind. This is a known issue. I found the workaround on another topic. "CMS Errors on Oracle 10G?. I'll try the workaround.

                  Thanks,
                  -Steve