In point 6, did you replace all references from derby to DataSourcePersistenceManager ? And do you clear your MySQL tables of the magnolia database between each of your tests ?
Perhaps clearing out the work dir of Tomcat could also help.

We've tested the DataSourcePersistenceManager with Tomcat 5.0 and MySQL 5.0.24a-community-nt on Windows XP, and also MySQL 4.1.12 on Red Hat Enterprise Linux 4.3 and I never had that problem ... and I already heard of that deadbeef-face-babe-cafe-babecafebabe node somewhere in the list, but not with our DSPM. It's seems to be a jackrabbit configuration problem...

Could you also check your MySQL created tables and look for integrity constraints on tables ?

   Anthony

Christian Sylvestre a écrit :
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
----------------------------------------------------------------


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

Reply via email to