Is it possible to send me your OracleContentStore ?
Are you using the latest CVS version ?

When a thread starts a transaction with begin(), it reserves the store
for private use.
The other threads have to wait, they sleep 20x 50ms. (that code is in
AbstractStore)
If they can't reserve a store they get a ServiceAccessException.
Below is what I get with cloudscape, with transactions enabled for the
read.
Thread 0 is able to grab the store and store /ORACLE0
Thread 1 tries to get a store but is put to sleep.
Thread 0 continues to put /ORACLE1, ...
Thread 1 gets an ServiceAccessException and cannot store /IBM0 and tries
to store /IBM1
Thread 0 after putting /ORACLE9, start getting /ORACLE0 (inside a
transaction and thus locking the store)
Thread 1 gets an ServiceAccessException and cannot store /IBM1 and tries
to store /IBM2
Thread 0 is finished getting /ORACLE9
Thread 1 can use the store to put /IBM2, ... (It receives
ObjectNotFoundException for /IBM0 and /IBM1, they are not stored)

When that ORA-22990 is solved everything should be OK.

Some work is needed on the "read" methods, they should be synchronized
on the DB connection I think.


Regards
Dirk


=========================================================
03 Oct 2001 23:15:15 - org.apache.slide.common.Domain - INFO - Domain
initialization complete

Thread-0: Put uri = /ORACLE0

Thread-1: Put uri = /IBM0

Thread-0: Put uri = /ORACLE1

Thread-0: Put uri = /ORACLE2

Thread-0: Put uri = /ORACLE3

Thread-0: Put uri = /ORACLE4

Thread-0: Put uri = /ORACLE5

Thread-0: Put uri = /ORACLE6

Thread-0: Put uri = /ORACLE7

Thread-0: Put uri = /ORACLE8

Thread-0: Put uri = /ORACLE9

03 Oct 2001 23:15:17 - org.apache.slide.common.Domain - WARNING -
Service jdbc(org.apache.slide.store.StandardStore) access error : Failed
to enlist service
slidestore.cloudscape.CloudscapeDescriptorsStore@18d189 in active
transaction

>>>> org.apache.slide.common.ServiceAccessException: Service 
>jdbc(org.apache.slide.store.StandardStore) access error : Failed to enlist service 
>slidestore.cloudscape.CloudscapeDescriptorsStore@18d189 in active transaction

Thread-1: Put uri = /IBM1

Thread-0: Get uri = /ORACLE0

Thread-0: Get uri = /ORACLE1

Thread-0: Get uri = /ORACLE2

Thread-0: Get uri = /ORACLE3

Thread-0: Get uri = /ORACLE4

Thread-0: Get uri = /ORACLE5

Thread-0: Get uri = /ORACLE6

Thread-0: Get uri = /ORACLE7

Thread-0: Get uri = /ORACLE8

Thread-0: Get uri = /ORACLE9

03 Oct 2001 23:15:18 - org.apache.slide.common.Domain - WARNING -
Service jdbc(org.apache.slide.store.StandardStore) access error : Failed
to enlist service
slidestore.cloudscape.CloudscapeDescriptorsStore@18d189 in active
transaction

>>>> org.apache.slide.common.ServiceAccessException: Service 
>jdbc(org.apache.slide.store.StandardStore) access error : Failed to enlist service 
>slidestore.cloudscape.CloudscapeDescriptorsStore@18d189 in active transaction

Thread-1: Put uri = /IBM2

Thread-1: Put uri = /IBM3

Thread-1: Put uri = /IBM4

Thread-1: Put uri = /IBM5

Thread-1: Put uri = /IBM6

Thread-1: Put uri = /IBM7

Thread-1: Put uri = /IBM8

Thread-1: Put uri = /IBM9

Thread-1: Get uri = /IBM0

>>>> org.apache.slide.structure.ObjectNotFoundException: No object found at /IBM0

Thread-1: Get uri = /IBM1

>>>> org.apache.slide.structure.ObjectNotFoundException: No object found at /IBM1

Thread-1: Get uri = /IBM2

Thread-1: Get uri = /IBM3

Thread-1: Get uri = /IBM4

Thread-1: Get uri = /IBM5

Thread-1: Get uri = /IBM6

Thread-1: Get uri = /IBM7

Thread-1: Get uri = /IBM8

Thread-1: Get uri = /IBM9

Reply via email to