Guillaume Pichenot <[EMAIL PROTECTED]> writes:

> 
> Did you see this thread on the ML ?
> http://news.gmane.org/gmane.comp.cms.magnolia.user/cutoff=5778
> 
> Seems like it is the exact same case.
> To put it in a nutshell :
> 
> Changing the Persistance Manager after the repository was bootstraped  
> is usually neither recommanded nor effective.
> In order to activate the change, you have got to make magnolia  
> bootstrap. Here are some basic steps.
> 
> - Backup your website, configuration and documents repositories using  
> the xml export servlets/pages.
> - Delete your old repositories folder (but make sure you backup your  
> whole site first, of course). This will force a bootstrap, therefore  
> force using the choosen persistance method from the get-go.
> - Replace your saved xmls in /web-inf/bootstrap/common (or re-import  
> them later, as you prefer, there are various restoring strategies)
> - Relaunch your magnolia instances, and watch your databases fill (a  
> 3-5 minute task on a fast box for a site the size of the Samples demo  
> Wars provided with Magnolia).
> 

I did read the threads on backup and on how to use the
DataSourcePersistenceManager. But I am definitely doing something wrong.

I used the magnoliaAuthor and the magnoliaPublic WAR files.

Here are the steps I took.

1- I first launched Tomcat without any changes (so using derby as the
persistence manager).
2- From the magnoliaAuthor export page I then exported websites, users,
config and (not being sure if I had to) I also exported dms, Expressions,
Store, usergroups and userroles...
3- I shutdown Tomcat.
4- I deleted the repository.
5- Just to checked I restarted tomcat without changing the persistence
manager (so using Derby) and the bootstrapping worked fine as far as I could
say.
6- I shutdown tomcat, deleted the repository and changed the persistence
manager to the DataSourcePersistenceManager.
7- I then got an exception while starting up. I then change the debug level
to debug and I step through the code of DataSourcePersistenceManager through
eclipse in order to try to find the source of the problem. And from what I
can see the problem is happening when trying to store a new node:
cause MySQLIntegrityConstraintViolationException  (id=101) 
failed to write property state:
deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType

I included a copy of the stdout below.

Ideas on what I am doing wrong would be welcome.

Thanks,

Christian

INFO   info.magnolia.jackrabbit.ProviderImpl ProviderImpl.java(init:143)
18.12.2006 17:36:47  Loading repository at
C:\software\apache-tomcat-5.5.20\webapps\magnoliaAuthor\repositories\magnoli
a (config file:
C:\software\apache-tomcat-5.5.20\webapps\magnoliaAuthor\WEB-INF\config\repo-
conf\jackrabbit-mysql-search-mysql-pooled.xml)
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(init:291) 18.12.2006 17:36:47   -
Initializing persistence manager...
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(initializeDataSource:269) 18.12.2006
17:36:47   -    Datasource java:comp/env/jdbc/magnolia now available.
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(prepareSchemaObjectPrefix:934) 18.12.2006
17:36:48   -    Preparing schema prefix
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:972) 18.12.2006 17:36:48   -
Produit: MySQL 5.0.26-community-nt
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:974) 18.12.2006 17:36:48   -
Supports Statement Pooling: false
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:976) 18.12.2006 17:36:48   -
Checking for schema existance...
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:981) 18.12.2006 17:36:48   -
optimizedServerSidePreparedStatement autodetected, setting to : false
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:996) 18.12.2006 17:36:48   -
schema autodetected, setting to : mysql
WARN   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:1014) 18.12.2006 17:36:48   -
Schema not existing. Starting database objects creation using mysql.ddl
file...
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:1051) 18.12.2006 17:36:49   -
Schema successfully created.
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(initializeDSPMQuery:279) 18.12.2006
17:36:49   -    Using server side standard statements.
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(init:328) 18.12.2006 17:36:49   -
Persistance manager successfully initialized.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:619) 18.12.2006 17:36:49   -
Starting storage of changeLog...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(getBLOBStore:248) 18.12.2006 17:36:49   -
Getting Blob store instance.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:720) 18.12.2006 17:36:49   -
Working on added states...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:812) 18.12.2006 17:36:49   - Leaving
storage of changeLog method.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(load:384) 18.12.2006 17:36:49   - Loading
node state (id=deadbeef-face-babe-cafe-babecafebabe)
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(init:291) 18.12.2006 17:36:49   -
Initializing persistence manager...
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(initializeDataSource:269) 18.12.2006
17:36:49   -    Datasource java:comp/env/jdbc/magnolia now available.
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(prepareSchemaObjectPrefix:934) 18.12.2006
17:36:49   -    Preparing schema prefix
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:972) 18.12.2006 17:36:49   -
Produit: MySQL 5.0.26-community-nt
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:974) 18.12.2006 17:36:49   -
Supports Statement Pooling: false
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:976) 18.12.2006 17:36:49   -
Checking for schema existance...
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:981) 18.12.2006 17:36:49   -
optimizedServerSidePreparedStatement autodetected, setting to : false
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(checkSchema:996) 18.12.2006 17:36:49   -
schema autodetected, setting to : mysql
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(initializeDSPMQuery:279) 18.12.2006
17:36:49   -    Using server side standard statements.
INFO   com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(init:328) 18.12.2006 17:36:49   -
Persistance manager successfully initialized.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:619) 18.12.2006 17:36:49   -
Starting storage of changeLog...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(getBLOBStore:248) 18.12.2006 17:36:49   -
Getting Blob store instance.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:720) 18.12.2006 17:36:49   -
Working on added states...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:812) 18.12.2006 17:36:49   - Leaving
storage of changeLog method.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:619) 18.12.2006 17:36:50   -
Starting storage of changeLog...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(getBLOBStore:248) 18.12.2006 17:36:50   -
Getting Blob store instance.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:684) 18.12.2006 17:36:50   -
Working on modified states...
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:720) 18.12.2006 17:36:50   -
Working on added states...
ERROR  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:801) 18.12.2006 17:37:50  failed to
write property state:
deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(store:812) 18.12.2006 17:37:50   - Leaving
storage of changeLog method.
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(load:384) 18.12.2006 17:37:50   - Loading
node state (id=cafebabe-cafe-babe-cafe-babecafebabe)
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(load:415) 18.12.2006 17:37:50   - Loading
property state
(id=deadbeef-face-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primary
Type)
DEBUG  com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
DataSourcePersistenceManager.java(getBLOBStore:248) 18.12.2006 17:37:50   -
Getting Blob store instance.
ERROR  org.apache.jackrabbit.core.RepositoryImpl
RepositoryImpl.java(<init>:248) 18.12.2006 17:37:50  Failed to initialize
workspace 'default'
javax.jcr.ItemNotFoundException:
deadbeef-cafe-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}primaryType
 at
org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:4
64)


> Once again, read the (whole) thread sabout installing  
> DataSourcePersManager and/or about backuping and restoring Magnolia  
> instances.
> 
> Nice day to you,
> G.
> 
> Le 14 déc. 06 à 20:15, Christian Sylvestre a écrit :
> 
> > I am looking forward to use Magnolia for a fairly big web site and for
> > simplicity of management I would prefer to have the repository  
> > located in
> > MySQL.
> >
> > I then follow the procedure describes in some posting to the user  
> > list on
> > how to change the persistence manager to the one from iorgagroup.com.
> >
> > It seems to be working fine when I started Tomcat for the first  
> > time since
> > I could see those messages in the console:
> >
> > INFO   info.magnolia.jackrabbit.ProviderImpl ProviderImpl.java(init: 
> > 143)
> > 14.12.2006 20:01:18  Loading repository at
> > C:\software\apache-tomcat-5.5.20\webapps\magnoliaAuthor\repositories 
> > \magnolia
> > (config file:
> > C:\software\apache-tomcat-5.5.20\webapps\magnoliaAuthor\WEB-INF 
> > \config\repo-conf\jackrabbit-mysql-search-mysql-p
> > ooled.xml)
> > WARN
> > com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager
> > DataSourcePersistenceManager.java(checkSchema:1014) 14.12.2006  
> > 20:01:19
> > -    Schema not existing. Starting database objects creation using
> > mysql.ddl file...
> >
> > So that looks fine, the tables have been created in MySQL.
> >
> > However the tables are empty? Shouldn't the whole content of the
> > repository be created in MySQL?
> >
> > And if I look at any of the workspace.xml files I can see this:
> > <PersistenceManager
> > class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager">
> >
> > Shouldn't the persistence manager be the one I defined in my  
> > repository
> > configuration file?
> >
> > Any help would be welcome.
> >
> > Thanks,
> >
> > Christian
> >
> > Note; FYI I am using Magnolia 3.0.1, Java 1.5 and Tomcat 5.5
> >
> >
> > ----------------------------------------------------------------
> > for list details see
> > http://www.magnolia.info/en/magnolia/developer.html
> > ----------------------------------------------------------------
> 
> ----------------------------------------------------------------
> 


----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------

Reply via email to