I read somewhere on this list from Dr. Peter Nevermann that Slide 2.0 will be able to store [/files/project1, /history/project1 on DB1] and [/files/project2, /history/project2 on DB2]. I attempt to do just that but get a transaction dead lock at the servlet initialization stage. The servlet server is tomcat 5.0.14 Please help running on RedHat 9.
In the attached Domain.xml, i have 3 JDBC stores and a Tx store. Each JDBC store is a database populated with the provided MySqlSchema.sql using MySQL 4.1 with InnoDB enabled in a different data path than the default mysql data path.
-> a JDBC store MWS is matched to the root of the namespace /
-> a tx store TESTCOM_PORTLET is matched to /files/testCom
-> a JDBC store TESTCOM_WORKSPACES is matched to /files/testComWorkspaces
/history/testComWorkspaces
-> a JDBC store TESTCOM_PROJECTS is matched to /files/testComProjects
/history/testComProjects
Without TESTCOM_WORKSPACES abd TESTCOM_PROJECTS, it works fine.
Thanks.
BaTien DBGROUPS
Exception log messages:
21 Mar 2004 11:06:28 - org.apache.slide.common.XMLUnmarshaller - INFO - Object already exists at /files/testCom 21 Mar 2004 11:06:28 - org.apache.slide.common.XMLUnmarshaller - INFO - Loading object /files/testComWorkspaces 21 Mar 2004 11:07:19 - org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter - ERROR - SQL error 1205 on /files/testComWorkspaces: Deadlock found when trying to get lock; Try restarting transaction, message from server: "Lock wait timeout exceeded; Try restarting transaction" org.apache.slide.common.ServiceAccessException: Service [EMAIL PROTECTED] access error : Deadlock found when trying to get lock; Try restarting transaction, message from server: "Lock wait timeout exceeded; Try restarting transaction" at org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter.createException(MySqlRDBMSAdapter.java:60) at org.apache.slide.store.impl.rdbms.StandardRDBMSAdapter.storeObject(StandardRDBMSAdapter.java:197) at org.apache.slide.store.impl.rdbms.StandardRDBMSAdapter.createObject(StandardRDBMSAdapter.java:89) at org.apache.slide.store.impl.rdbms.AbstractRDBMSStore.createObject(AbstractRDBMSStore.java:476) at org.apache.slide.store.AbstractStore.createObject(AbstractStore.java:619) at org.apache.slide.store.ExtendedStore.createObject(ExtendedStore.java:487) When running the following Domain.xml <?xml version="1.0"?> <slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6" default="slide"> <namespace name="mws"> <definition> <store name="MWS"> <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore"> <parameter name="adapter">org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter</parameter> <parameter name="driver">com.mysql.jdbc.Driver</parameter> <parameter name="url">jdbc:mysql://localhost/MWS</parameter> <parameter name="user">xxxxxxx</parameter> <parameter name="password">yyyyyyy</parameter> <parameter name="dbcpPooling">true</parameter> <parameter name="maxPooledConnections">10</parameter> <parameter name="isolation">READ_COMMITTED</parameter> <parameter name="SendStringParametersAsUnicode">false</parameter> </nodestore> <securitystore> <reference store="nodestore"/> </securitystore> <lockstore> <reference store="nodestore"/> </lockstore> <revisiondescriptorsstore> <reference store="nodestore"/> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore"/> </revisiondescriptorstore> <contentstore> <reference store="nodestore"/> </contentstore> </store> <store name="TESTCOM_PORTLET"> <nodestore classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore"> <parameter name="rootpath">/apps/tomcat-5.0.14/webapps/mws/store/metadata/testCom</parameter> <parameter name="workpath">/apps/tomcat-5.0.14/work/mws/metadata/testCom</parameter> </nodestore> <securitystore> <reference store="nodestore"/> </securitystore> <lockstore> <reference store="nodestore"/> </lockstore> <revisiondescriptorsstore> <reference store="nodestore"/> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore"/> </revisiondescriptorstore> <contentstore classname="org.apache.slide.store.txfile.TxFileContentStore"> <parameter name="rootpath">/apps/tomcat-5.0.14/webapps/mws/store/content/testCom</parameter> <parameter name="workpath">/apps/tomcat-5.0.14/work/mws/content/testCom</parameter> </contentstore> <!-- uncomment if you want to use the sample Indexer --> <!-- be sure to have Lucene in your classpath --> <!-- <contentindexer classname="org.apache.slide.index.SampleTxtContainsIndexer"> <parameter name="indexpath">./index</parameter> </contentindexer> --> </store> <store name="TESTCOM_WORKSPACES"> <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore"> <parameter name="adapter">org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter</parameter> <parameter name="driver">com.mysql.jdbc.Driver</parameter> <parameter name="url">jdbc:mysql://localhost/TESTCOM_WORKSPACES</parameter> <parameter name="user">xxxxxxx</parameter> <parameter name="password">yyyyyyy</parameter> <parameter name="dbcpPooling">true</parameter> <parameter name="maxPooledConnections">10</parameter> <parameter name="isolation">READ_COMMITTED</parameter> <parameter name="SendStringParametersAsUnicode">false</parameter> </nodestore> <securitystore> <reference store="nodestore"/> </securitystore> <lockstore> <reference store="nodestore"/> </lockstore> <revisiondescriptorsstore> <reference store="nodestore"/> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore"/> </revisiondescriptorstore> <contentstore> <reference store="nodestore"/> </contentstore> </store> <store name="TESTCOM_PROJECTS"> <nodestore classname="org.apache.slide.store.impl.rdbms.JDBCStore"> <parameter name="adapter">org.apache.slide.store.impl.rdbms.MySqlRDBMSAdapter</parameter> <parameter name="driver">com.mysql.jdbc.Driver</parameter> <parameter name="url">jdbc:mysql://localhost/TESTCOM_PROJECTS</parameter> <parameter name="user">xxxxxxx</parameter> <parameter name="password">yyyyyyy</parameter> <parameter name="dbcpPooling">true</parameter> <parameter name="maxPooledConnections">10</parameter> <parameter name="isolation">READ_COMMITTED</parameter> <parameter name="SendStringParametersAsUnicode">false</parameter> </nodestore> <securitystore> <reference store="nodestore"/> </securitystore> <lockstore> <reference store="nodestore"/> </lockstore> <revisiondescriptorsstore> <reference store="nodestore"/> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore"/> </revisiondescriptorstore> <contentstore> <reference store="nodestore"/> </contentstore> </store> <scope match="/" store="MWS"/> <scope match="/files/testCom" store="TESTCOM_PORTLET"/> <scope match="/files/testComWorkspaces" store="TESTCOM_WORKSPACES"/> <scope match="/history/testComWorkspaces" store="TESTCOM_WORKSPACES"/> <scope match="/files/testComProjects" store="TESTCOM_PROJECTS"/> <scope match="/history/testComProjects" store="TESTCOM_PROJECTS"/> </definition> <configuration> <!-- Actions mapping --> <read-object>/actions/read</read-object> <create-object>/actions/write</create-object> <remove-object>/actions/write</remove-object> <grant-permission>/actions/write-acl</grant-permission> <revoke-permission>/actions/write-acl</revoke-permission> <read-permissions>/actions/read-acl</read-permissions> <read-own-permissions>/actions/read-current-user-privilege-set</read-own-permissions> <lock-object>/actions/write</lock-object> <kill-lock>/actions/unlock</kill-lock> <read-locks>/actions/read</read-locks> <read-revision-metadata>/actions/read</read-revision-metadata> <create-revision-metadata>/actions/write-properties</create-revision-metadata> <modify-revision-metadata>/actions/write-properties</modify-revision-metadata> <remove-revision-metadata>/actions/write-properties</remove-revision-metadata> <read-revision-content>/actions/read</read-revision-content> <create-revision-content>/actions/write-content</create-revision-content> <modify-revision-content>/actions/write-content</modify-revision-content> <remove-revision-content>/actions/write-content</remove-revision-content> <bind-member>/actions/bind</bind-member> <unbind-member>/actions/unbind</unbind-member> <!-- Paths configuration --> <userspath>/users</userspath> <rolespath>/roles</rolespath> <actionspath>/actions</actionspath> <filespath>/files</filespath> <parameter name="dav">true</parameter> <parameter name="standalone">true</parameter> <parameter name="acl_inheritance_type">path</parameter> <!-- Nested roles: 0 means no nesting (default), 1 means one sublevel, etc. --> <parameter name="nested_roles_maxdepth">0</parameter> </configuration> <data> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/"> <!-- Subject can be: any user "all" authenticated user "authenticated" unauthenticated user "unauthenticated" self "self" owner of resource "owner" a user "/users/john" a role "/roles/admin" --> <permission action="all" subject="/roles/root" inheritable="true"/> <permission action="/actions/read-acl" subject="all" inheritable="true" negative="true"/> <permission action="/actions/write-acl" subject="all" inheritable="true" negative="true"/> <permission action="/actions/unlock" subject="all" inheritable="true" negative="true"/> <permission action="/actions/read" subject="all" inheritable="true"/> <!-- /users --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users"> <permission action="all" subject="self" inheritable="true"/> <permission action="all" subject="unauthenticated" inheritable="true" negative="true"/> <!-- /users/dbAdmin represents the administrator --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/dbAdmin"> <revision> <property namespace="http://appsdev2.dbgroups.com/mws/" name="password"/> </revision> </objectnode> <!-- /users/thieny and /users/testCom represent authenticated users --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/thieny"> <revision> <property namespace="http://appsdev2.dbgroups.com/mws/" name="password"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/testCom"> <revision> <property namespace="http://appsdev2.dbgroups.com/mws/" name="password"/> </revision> </objectnode> <!-- /users/guest represents an authenticated or unauthenticated guest user --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/guest"> <revision> <property namespace="http://appsdev2.dbgroups.com/mws/" name="password"/> </revision> </objectnode> </objectnode> <!-- /roles --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles"> <permission action="all" subject="self" inheritable="true"/> <permission action="all" subject="unauthenticated" inheritable="true" negative="true"/> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/root"> <revision> <property name="group-member-set"><![CDATA[<D:href xmlns:D='DAV:'>/users/dbAdmin</D:href>]]></property> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/user"> <revision> <property name="group-member-set"> <![CDATA[ <D:href xmlns:D='DAV:'>/users/dbAdmin</D:href> <D:href xmlns:D='DAV:'>/users/thieny</D:href> <D:href xmlns:D='DAV:'>/users/testCom</D:href> ]]> </property> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/roles/guest"> <revision> <property name="group-member-set"> <![CDATA[<D:href xmlns:D='DAV:'>/users/guest</D:href>]]> </property> </revision> </objectnode> </objectnode> <!-- action --> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions"> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read"> <revision> <property name="privilege-member-set"> <![CDATA[ <D:href xmlns:D='DAV:'>/actions/read-acl</D:href> <D:href xmlns:D='DAV:'>/actions/read-current-user-privilege-set</D:href> ]]> </property> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read-acl"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read-current-user-privilege-set"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write"> <revision> <property name="privilege-member-set"> <![CDATA[ <D:href xmlns:D='DAV:'>/actions/write-acl</D:href> <D:href xmlns:D='DAV:'>/actions/write-properties</D:href> <D:href xmlns:D='DAV:'>/actions/write-content</D:href> ]]> </property> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-acl"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-properties"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write-content"> <revision> <property name="privilege-member-set"> <![CDATA[ <D:href xmlns:D='DAV:'>/actions/bind</D:href> <D:href xmlns:D='DAV:'>/actions/unbind</D:href> ]]> </property> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/bind"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/unbind"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/unlock"> <revision> <property name="privilege-member-set"/> </revision> </objectnode> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files/testCom"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files/testComWorkspaces"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files/testComProjects"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> </objectnode> <!-- DeltaV: default history and workspace paths --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/history"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/history/testComWorkspaces"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/history/testComProjects"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/workspace"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/workingresource"> <permission action="all" subject="unauthenticated" inheritable="true"/> <permission action="/actions/write" subject="/roles/user" inheritable="true"/> <permission action="/actions/read-acl" subject="owner" inheritable="true"/> </objectnode> </objectnode> </data> </namespace> <!-- DeltaV global parameters --> <parameter name="filepath">/files/${store}</parameter> <parameter name="historypath">/history/${store}</parameter> <parameter name="filepath">/files/testCom/${store}</parameter> <parameter name="filepath">/files/testComWorkspaces/${store}</parameter> <parameter name="filepath">/files/testComProjects/${store}</parameter> <parameter name="historypath">/history/testComWorkspaces/${store}</parameter> <parameter name="historypath">/history/testComProjects/${store}</parameter> <parameter name="auto-version">checkout-checkin</parameter> <parameter name="auto-version-control">false</parameter> <parameter name="versioncontrol-exclude"/> <parameter name="checkout-fork">forbidden</parameter> <parameter name="checkin-fork">forbidden</parameter> <!-- Event configuration --> <extractors> <extractor classname="org.apache.slide.extractor.SimpleXmlExtractor" uri="/files/articles/test.xml"> <configuration> <instruction property="title" xpath="/article/title/text()" /> <instruction property="summary" xpath="/article/summary/text()" /> </configuration> </extractor> </extractors> <!-- Event configuration --> <events> <event classname="org.apache.slide.webdav.event.WebdavEvent" enable="true" /> <event classname="org.apache.slide.event.ContentEvent" enable="true" /> <event classname="org.apache.slide.event.ContentEvent" method="retrieve" enable="false" /> <event classname="org.apache.slide.event.EventCollection" enable="true" /> <event classname="org.apache.slide.event.TransactionEvent" enable="true" /> <listener classname="org.apache.slide.util.event.EventLogger" /> <listener classname="org.apache.slide.event.VetoableEventCollector" /> <listener classname="org.apache.slide.event.TransientEventCollector" /> <listener classname="org.apache.slide.webdav.event.NotificationTrigger"> <configuration> <notification protocol="tcp" include-events="false" /> </configuration> </listener> <listener classname="org.apache.slide.extractor.PropertyExtractorTrigger" /> <listener classname="org.apache.slide.search.IndexTrigger"> <configuration> <indexer classname="org.apache.slide.search.LoggingIndexer" synchronous="false" uri="/files/articles" /> </configuration> </listener> </events> </slide>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]