>> Even though I'm not currently running a statement on the server.
> The creation of "/files" and "/files_2" contain the statements that 
> block each other I guess.

I'm looking further into this today. Though after every sql statement it
seems that all exit paths from the methods are covered and a "close"
statement is being called - which should terminate the statement -- assuming
that is what "close" is supposed to do. I can't explain why, when the update
to /files has fully completed, the next read attempt on /files_2 hangs up.
Especially since this is happening serially - not in parallel since it is
happening in the same thread.

>> I guess what I'm really after is confirmation of what the correct 
>> nodestore configuration is when I want to run multiple scopes/stores 
>> as is needed for the testsuite. And I did try running a separate db 
>> for each nodestore too, but I get exactly the same problem. Which 
>> indicates that the problem isn't localized to sharing a nodestore 
>> between stores.

> Hard to believe. Do you get it running with only a single store
configured?

Yes. The jdbc config works fine with a single store.  Which begs the
question: can I disable the portions of the testsuite that require the
second and third stores to be configured? How much of the testsuite will I
lose if I do this? Preferably I'd like to use as much of the testsuite as
possible.

>> the nodestore in the first. Unless I'm just not doing it right?

> I understand the configuration you are trying to do simply is not 
> possible with the current Slide release :(

I guess so. Any guesses as to what a valid configuration of the nodestore
would be? Should I be able to share a single nodestore or do I have to
define an exclusive one for each store definition.

Warwick


-----Original Message-----
From: Oliver Zeigermann [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 07, 2004 11:01 PM
To: Slide Users Mailing List
Subject: Re: DB2 server not responding after short time using Slide 2.1 be
ta


Warwick Burrows wrote:
> I just took the example Domain.xml and added the two additional 
> "<store>" entries needed to run the testsuite. So there's no reason 
> that it is that complicated except that I'm not sure what I can 
> validly take out of it since it is the example that comes with Slide 
> :-)  I don't have security enabled but I do need locks and version 
> control. I also need clustering support. I've commented out the 
> property extractors already as I won't need those just yet but I'm not 
> removing the commented out stuff so I can compare with the HEAD 
> whenever fixes come in. I'm using the WebDAV client to access the 
> server. So if you have suggestions for simplification (particularly 
> how to get rid of the user and role definitions and authzn action 
> declarations if I don't need them) I would appreciate it.
> 
> 
>>>but it seems all stores go to the same logical DB2 database, right?
> 
> 
> Yes, that was my intention :-)
> 
> 
>>>If so the problem seems pretty clear
>>>to me. All three stores with different connections try to acquire locks 
>>>on the same tables, mutually blocking each other. This would be no 
>>>deadlock, but rather a livelock or maybe a distributed deadlock. No 
>>>chance for DB2 to detect it. 
> 
> 
> In this case I don't think that I have even made it to the point where 
> one of the other stores is operational yet. Ie. it hangs just when it 
> is about to start the "/files_2" store. I think it has just processed 
> the "/files"
> subjectnode:
> 
>       <objectnode> classname="org.apache.slide.structure.SubjectNode"
> uri="/files">
>       ...
>       </objectnode>
>       <objectnode classname="org.apache.slide.structure.SubjectNode"
> uri="/files_2">
>       ...
>       </objectnode>
>  
> And sometime between when the "/files" subjectnode is loaded and we 
> are about to read the "/files_2" subjectnode from the db to check for 
> its existence the db goes haywire and running "select" statements from 
> the db2 prompt to the URI table will hang until I shutdown the server. 
> Even though I'm not currently running a statement on the server.

The creation of "/files" and "/files_2" contain the statements that 
block each other I guess.

> 
>>>As I said I do not know what you are after,
>>>but could you consider to either simplify the Domain.xml or give each 
>>>store a logical database of its own?
> 
> 
> I guess what I'm really after is confirmation of what the correct 
> nodestore configuration is when I want to run multiple scopes/stores 
> as is needed for the testsuite. And I did try running a separate db 
> for each nodestore too, but I get exactly the same problem. Which 
> indicates that the problem isn't localized to sharing a nodestore 
> between stores.

Hard to believe. Do you get it running with only a single store configured?

> Can I define one nodestore for all <store> definitions? The 
> "reference" keyword only seems to work within a <store> definition so 
> I can't set the nodestores of the other <store> entries to reference 
> the nodestore in the first. Unless I'm just not doing it right?

I understand the configuration you are trying to do simply is not 
possible with the current Slide release :(

Oliver

> Thanks,
> Warwick
> 
> 
> -----Original Message-----
> From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, September 07, 2004 4:39 PM
> To: Slide Users Mailing List
> Subject: Re: DB2 server not responding after short time using Slide 2.1 be
> ta
> 
> 
> Hi Warwick!
> 
> This is a complicated Domain.xml ;) Any special reason it is that
> complicated? I am familiar with DB, but it seems all stores go to the 
> same logical DB2 database, right? If so the problem seems pretty clear 
> to me. All three stores with different connections try to acquire locks 
> on the same tables, mutually blocking each other. This would be no 
> deadlock, but rather a livelock or maybe a distributed deadlock. No 
> chance for DB2 to detect it. As I said I do not know what you are after, 
> but could you consider to either simplify the Domain.xml or give each 
> store a logical database of its own?
> 
> Oliver
> 
> Warwick Burrows wrote:
> 
> 
>>Hi Oliver,
>>
>>Actually I was hoping you'd just "eyeball" the Domain.xml file I sent
>>to make sure that I'm doing the appropriate thing with my jdbc store 
>>configurations and sequence store configurations for the additional 
>>scopes I've added. Basically I want to be sure that I have a valid 
>>"multi-scope configuration" as I'm not even sure I have that. Ie. I 
>>would like to share the one jdbc nodestore across all three scopes 
>>(<store> definitions) and not have a separate DB2 db for each.
>>
>>Here's an excerpt of the Domain.xml since the attachment didn't make
>>it last time. It's easier to read in a maximized mail reader window.
>>
>>
>><?xml version="1.0"?>
>><slide>
>>    <namespace name="cmslide">
>>        <definition>
>>            <store name="tx">
>>                <nodestore
>>classname="org.apache.slide.store.impl.rdbms.JDBCStore">
>>                  <parameter 
>>
> 
> name="adapter">org.apache.slide.store.impl.rdbms.DB2RDBMSAdapter</para
> meter>
> 
>>                  <parameter
>>name="driver">com.ibm.db2.jcc.DB2Driver</parameter>
>>                  <parameter 
>>name="url">jdbc:db2://machine:50000/DB2DB</parameter>
>>                  <parameter name="user">user</parameter>
>>                  <parameter name="password">pwd</parameter>
>>                  <parameter name="dbcpPooling">true</parameter>
>>                  <parameter name="maxPooledConnections">50</parameter>
>>                  <parameter name="isolation">READ_COMMITTED</parameter>
>>                  <parameter name="compress">false</parameter>
>>                </nodestore>
>>                <sequencestore>
>>                  <reference store="nodestore" />
>>                </sequencestore>
>>                <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">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/st
>>ore/co
>>ntent</parameter>
>>                    <parameter
>>
> 
> name="workpath">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/wo
> rk/con
> 
>>tent</parameter>
>>                    <!-- WB: Slide user list suggested disabling this 
>>for filestore to avoid deadlock with high load -->
>>                    <parameter name="defer-saving">false</parameter>
>>                    <parameter name="timeout">120</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>
>>            <scope match="/" store="tx"/>
>>            <store name="tx2">
>>                <nodestore 
>>classname="org.apache.slide.store.impl.rdbms.JDBCStore">
>>                  <parameter 
>>
> 
> name="adapter">org.apache.slide.store.impl.rdbms.DB2RDBMSAdapter</para
> meter>
> 
>>                  <parameter
>>name="driver">com.ibm.db2.jcc.DB2Driver</parameter>
>>                  <parameter 
>>name="url">jdbc:db2://machine:50000/DB2DB</parameter>
>>                  <parameter name="user">user</parameter>
>>                  <parameter name="password">pwd</parameter>
>>                  <parameter name="dbcpPooling">true</parameter>
>>                  <parameter name="maxPooledConnections">50</parameter>
>>                  <parameter name="isolation">READ_COMMITTED</parameter>
>>                  <parameter name="compress">false</parameter>
>>                </nodestore>
>>                <sequencestore>
>>                  <reference store="nodestore" />
>>                </sequencestore>
>>                <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">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/st
>>ore2/c
>>ontent</parameter>
>>                    <parameter
>>
> 
> name="workpath">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/wo
> rk2/co
> 
>>ntent</parameter>
>>                    <!-- WB: Slide user list suggested disabling this 
>>for filestore to avoid deadlock with high load -->
>>                    <parameter name="defer-saving">false</parameter>
>>                    <parameter name="timeout">120</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>
>>            <scope match="/files_2" store="tx2"/>
>>            <store name="tx3">
>>                <nodestore 
>>classname="org.apache.slide.store.impl.rdbms.JDBCStore">
>>                  <parameter 
>>
> 
> name="adapter">org.apache.slide.store.impl.rdbms.DB2RDBMSAdapter</para
> meter>
> 
>>                  <parameter
>>name="driver">com.ibm.db2.jcc.DB2Driver</parameter>
>>                  <parameter 
>>name="url">jdbc:db2://machine:50000/DB2DB</parameter>
>>                  <parameter name="user">user</parameter>
>>                  <parameter name="password">pwd</parameter>
>>                  <parameter name="dbcpPooling">true</parameter>
>>                  <parameter name="maxPooledConnections">50</parameter>
>>                  <parameter name="isolation">READ_COMMITTED</parameter>
>>                  <parameter name="compress">false</parameter>
>>                </nodestore>
>>                <sequencestore>
>>                  <reference store="nodestore" />
>>                </sequencestore>
>>                <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">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/st
>>ore3/c
>>ontent</parameter>
>>                    <parameter
>>
> 
> name="workpath">C:/CCViews/slide/server/tools/webapps/slide/WEB-INF/wo
> rk3/co
> 
>>ntent</parameter>
>>                    <!-- WB: Slide user list suggested disabling this 
>>for filestore to avoid deadlock with high load -->
>>                    <parameter name="defer-saving">false</parameter>
>>                    <parameter name="timeout">120</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>
>>            <scope match="/files_secondCollection" store="tx3"/>
>>        </definition>
>>      .
>>      .
>>      .
>>      .
>>                <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>
>>                <objectnode 
>>classname="org.apache.slide.structure.SubjectNode" uri="/files_2">
>>                    <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_secondCollection">
>>                    <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>
>>
>>
>>Thanks,
>>Warwick
>>
>>
>>
>>-----Original Message-----
>>From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, September 07, 2004 3:54 PM
>>To: Slide Users Mailing List
>>Subject: Re: DB2 server not responding after short time using Slide 
>>2.1 be ta
>>
>>
>>Hi Warwick,
>>
>>if you have set the sequential-mode to full you can be very sure only
>>a
>>single request at a time can be executed. Thus it is very unlikely that 
>>it is a deadlock. I am afraid I can not check you configuration as I 
>>have no access to DB2. I can only recommend what most people do in such 
>>a scenario. Use a tool that displays all open connections and locks to 
>>find out what is going on. This is no fun, but the last resort, I guess. 
>>  I know Toad does a pretty good job for Oracle and MySQL, do not know 
>>if there is anything like that for DB2.
>>
>>Sorry that there is nothing more I can do to help you :(
>>
>>Good luck,
>>
>>Oliver
>>
>>Warwick Burrows wrote:
>>
>>
>>>Hi Oliver,
>>>
>>>I'm having this same DB2 problem trying to get the testsuite slide 
>>>configuration going too. ie. by adding two more stores alongside the 
>>>standard /files store: a /files_2 and a /files_secondCollection store 
>>>as required by the testsuite. The DB2 adapter hangs in a different 
>>>statement this time even though I do have the "sequential-mode" 
>>>parameter set to "full".
>>>
>>>I've attached the Domain.xml file if you have any suggestions for 
>>>what I'm doing wrong configuring these extra stores. My Domain.xml is 
>>>not too far removed from the example Domain.xml of the 2.1 beta I've 
>>>just substituted the XML nodestore in each <store> definition with a 
>>>jdbcstore implementation instead. I reference the same jdbcstore in 
>>>each <store> definition rather than separate ones. I've also defined 
>>>the sequence store as a reference to the nodestore instead of using 
>>>the FileSequenceStore in the beta Slide Domain.xml.
>>>
>>>Thanks,
>>>Warwick
>>>
>>>
>>>-----Original Message-----
>>>From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
>>>Sent: Monday, September 06, 2004 9:57 AM
>>>To: Slide Users Mailing List
>>>Subject: Re: DB2 server not responding after short time using Slide
>>>2.1
>>
>>beta
>>
>>
>>>This can not be a deadlock as DB2 would resolve it automatically. 
>>>Maybe there is another transaction running that holds locks on the 
>>>concerned table. Maybe from the DB2 CLI? I'd suspect that...
>>>
>>>And yes, actually if you switch on
>>>
>>>            <parameter name="sequential-mode">full</parameter>
>>>
>>>in Domain.xml as done by default in Slide 2.1, Slide will never
>>>deadlock. However, if you reuse your old Domain.xml from earlier 
>>>releases my patch won't have any effect.
>>>
>>>Oliver
>>>
>>>James Mason wrote:
>>>
>>>
>>>
>>>
>>>>Warwick,
>>>>This sounds suspiciously like a deadlock condition to me. I ran into 
>>>>something similar with MySQL, and I *thought* that Oliver and I had 
>>>>made changes that would ensure it couldn't happen, but maybe not.
>>>>
>>>>If possible can you get a log of all the sql statements executed by 
>>>>Slide against the database? If your log includes a connection id 
>>>>look to see if the connection id suddenly changes. That should help 
>>>>you pinpoint the sql statement that's causing the problem .
>>>>
>>>
>>>>From looking at enumerateLocks() I don't see any way that statement
>>>
>>>>could cause a deadlock. This makes me think the problem is probably
>>>>somewhere else and it's just surfacing when that statement runs.
>>>>
>>>>-James
>>>>
>>>>Warwick Burrows wrote:
>>>>
>>>>
>>>>
>>>>
>>>>>Hi,
>>>>>I've run into a serious problem with the slide 2.1B1 server where
>>>>>the
>>>>>DB2 server hangs executing a select statement in the enumerateLocks() 
>>>>>method of the StandardRDBMSAdapter in the server. Once the DB server 
>>>>>is hung it won't
>>>>>even respond to simple select statements from the DB2 cli.  Though it 
>>>>>will
>>>>>respond to "list tables" commands. When I run a select from the DB2 
>>>>>cli (eg.
>>>>>select * from URI) and it hangs I can hit ctrl-C at the DB2 cli prompt 
>>>>>and
>>>>>it will cancel the request and return -- but no data comes back with 
>>>>>it. Of
>>>>>course the slide server will wait indefinitely for the sql request to 
>>>>>come
>>>>>back. Has anybody else had this problem with Slide 2.1B1 and DB2?  A 
>>>>>new DB2
>>>>>RDBMS adapter was introduced in 2.1B1 as well as a new DB2 schema. I 
>>>>>didn't
>>>>>see this problem with 2.1M1 but its happening frequently with 2.1B1. 
>>>>>In fact
>>>>>its such a problem my project no longer works and we're grounded until
> 
> we
> 
>>>>>can find a fix.
>>>>>
>>>>>Thanks,
>>>>>Warwick
>>>>>
>>>>>
>>>>>
>>>>
>>>>--------------------------------------------------------------------
>>>>-
>>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>-
>>>--
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to