Margaret,

I was afraid thats what you would say :( 

I am too lazy to debug the code today, so instead I whittled my mapping down
to the bare minimun first and you are correct, it is in the mapping because
that worked, and it ended up I had additional stuff i wasnt using for the
test-case...

Thank you very much for the fast response...

KJQ

-----Original Message-----
From: Martin, Margaret [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 31, 2002 12:51 PM
To: [EMAIL PROTECTED]
Subject: Re: [castor-dev] Question: IllegalStateException...Cant Hold
Read Lock?


Kim,
I have run into this on several occasions and it is a terribly frustrating
bug to track down. If you look closely at the stack trace, the exception is
coming from rollback, so the real question for me was "Why am I in a
rollback in the first place?". I found that in
org.exolab.castor.jdo.SQLEngine.load() there are SQLExceptions that are
swallowed. I put printStackTraces in there to determine what the real
exception was and then went at it from there. In most cases, the error
ultimately ended up being with my mapping.

Best of luck!
Margaret

-----Original Message-----
From: Quinn, Kim John [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 31, 2002 11:34 AM
To: [EMAIL PROTECTED]
Subject: [castor-dev] Question: IllegalStateException...Cant Hold
ReadLock?


Got a question...

We have been developing against MS-SQL7 for quite sometime without any
issues in CRUD operations against the database....now, we are migrating to
Oracle 8i our test case and when trying to request an object that has been
inserted from Castor we get the following exception:

Our currect access mode is: shared and our userid on Oracle has "locking"
privs set...
--------------------------------------------------------------------------

[ERROR,Default] java.lang.IllegalStateException: Transaction
org.exolab.castor.jdo.engine.Transactio
nContextImpl@ebc11d does not hold the read lock:
com.ecog.appl.global.widgets.dao.loan.LoanDAO/104/0
 -/-!
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine$TypeInfo.assure(LockEngine.java:1178
)
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine$TypeInfo.access$3(LockEngine.java:11
70)
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine.revertObject(LockEngine.java:859)
[ERROR,Default]         at
org.exolab.castor.persist.TransactionContext.rollback(TransactionContext.
java:1623)
[ERROR,Default]         at
org.exolab.castor.jdo.engine.DatabaseImpl.rollback(DatabaseImpl.java:523)

[ERROR,Default]         at
com.ecog.elf.ext.castor.CastorDataManagerImpl.rollbackTransaction(CastorD
ataManagerImpl.java:275)
[ERROR,Default]         at
com.ecog.elf.app.biz.egb.GenericEntityPK.request(GenericEntityPK.java:165
)
[ERROR,Default]         at
com.ecog.elf.app.biz.egb.GenericEntityBean.ejbLoad(GenericEntityBean.java
:264)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:39)
[ERROR,Default]         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:25)
[ERROR,Default]         at java.lang.reflect.Method.invoke(Method.java:324)
[ERROR,Default]         at
org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity(BMPPersistenceMana
ger.java:324)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynch
ronizationInterceptor.java:287)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInte
rceptor.java:197)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.
java:125)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:1
38)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorC
MT.java:347)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
[ERROR,Default]         at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java
:127)
[ERROR,Default]         at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
[ERROR,Default]         at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:428)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContain
erInvoker.java:410)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContain
erInvoker.java:491)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(Generi
cProxy.java:335)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java
:133)
[ERROR,Default]         at $Proxy7.toDatum(Unknown Source)
[ERROR,Default]         at
com.ecog.appl.global.widgets.biz.LoadEGBByPK.toWriter(LoadEGBByPK.java:75
)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:39)
[ERROR,Default]         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:25)
[ERROR,Default]         at java.lang.reflect.Method.invoke(Method.java:324)
[ERROR,Default]         at
com.ecog.elf.app.cmd.CommandObject.setResult(CommandObject.java:149)
[ERROR,Default]         at
com.ecog.appl.global.widgets.biz.LoadEGBByPK.doIt(LoadEGBByPK.java:55)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.executeCommand(SimpleInterpreter.j
ava:81)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.executeLine(SimpleInterpreter.java
:154)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.doIt(SimpleInterpreter.java:58)
[ERROR,Default]         at
com.ecog.elf.etc.bag.ActionBag.invokeScript(ActionBag.java:57)
[ERROR,Default]         at
com.ecog.appl.global.widgets.web.RequestHTTPStream.doIt(RequestHTTPStream
.java:28)
[ERROR,Default]         at
com.ecog.elf.web.servlet.HTTPServletObject.service(HTTPServletObject.java
:76)
[ERROR,Default]         at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[ERROR,Default]         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat
ionFilterChain.java:247)
[ERROR,Default]         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
rChain.java:193)
[ERROR,Default]         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve
.java:243)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve
.java:201)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.jav
a:246)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344
)
[ERROR,Default]         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
164)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal
ve.java:170)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
170)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j
ava:163)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.ja
va:1011)
[ERROR,Default]         at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1
106)
[ERROR,Default]         at java.lang.Thread.run(Thread.java:536)
[ERROR,Default] java.lang.IllegalStateException: Transaction
org.exolab.castor.jdo.engine.Transactio
nContextImpl@ebc11d does not hold the read lock:
com.ecog.appl.global.widgets.dao.loan.loanper.LoanP
ersonDAO/8/1 -/-!
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine$TypeInfo.assure(LockEngine.java:1178
)
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine$TypeInfo.access$3(LockEngine.java:11
70)
[ERROR,Default]         at
org.exolab.castor.persist.LockEngine.revertObject(LockEngine.java:859)
[ERROR,Default]         at
org.exolab.castor.persist.TransactionContext.rollback(TransactionContext.
java:1623)
[ERROR,Default]         at
org.exolab.castor.jdo.engine.DatabaseImpl.rollback(DatabaseImpl.java:523)

[ERROR,Default]         at
com.ecog.elf.ext.castor.CastorDataManagerImpl.rollbackTransaction(CastorD
ataManagerImpl.java:275)
[ERROR,Default]         at
com.ecog.elf.app.biz.egb.GenericEntityPK.request(GenericEntityPK.java:165
)
[ERROR,Default]         at
com.ecog.elf.app.biz.egb.GenericEntityBean.ejbLoad(GenericEntityBean.java
:264)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:39)
[ERROR,Default]         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:25)
[ERROR,Default]         at java.lang.reflect.Method.invoke(Method.java:324)
[ERROR,Default]         at
org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity(BMPPersistenceMana
ger.java:324)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynch
ronizationInterceptor.java:287)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInte
rceptor.java:197)
[ERROR,Default]         at
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.
java:125)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:1
38)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorC
MT.java:347)
[ERROR,Default]         at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100)
[ERROR,Default]         at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java
:127)
[ERROR,Default]         at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
[ERROR,Default]         at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:428)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContain
erInvoker.java:410)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContain
erInvoker.java:491)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(Generi
cProxy.java:335)
[ERROR,Default]         at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java
:133)
[ERROR,Default]         at $Proxy7.toDatum(Unknown Source)
[ERROR,Default]         at
com.ecog.appl.global.widgets.biz.LoadEGBByPK.toWriter(LoadEGBByPK.java:75
)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR,Default]         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:39)
[ERROR,Default]         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:25)
[ERROR,Default]         at java.lang.reflect.Method.invoke(Method.java:324)
[ERROR,Default]         at
com.ecog.elf.app.cmd.CommandObject.setResult(CommandObject.java:149)
[ERROR,Default]         at
com.ecog.appl.global.widgets.biz.LoadEGBByPK.doIt(LoadEGBByPK.java:55)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.executeCommand(SimpleInterpreter.j
ava:81)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.executeLine(SimpleInterpreter.java
:154)
[ERROR,Default]         at
com.ecog.elf.app.cmd.SimpleInterpreter.doIt(SimpleInterpreter.java:58)
[ERROR,Default]         at
com.ecog.elf.etc.bag.ActionBag.invokeScript(ActionBag.java:57)
[ERROR,Default]         at
com.ecog.appl.global.widgets.web.RequestHTTPStream.doIt(RequestHTTPStream
.java:28)
[ERROR,Default]         at
com.ecog.elf.web.servlet.HTTPServletObject.service(HTTPServletObject.java
:76)
[ERROR,Default]         at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[ERROR,Default]         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicat
ionFilterChain.java:247)
[ERROR,Default]         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilte
rChain.java:193)
[ERROR,Default]         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve
.java:243)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve
.java:201)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.jav
a:246)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344
)
[ERROR,Default]         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
164)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVal
ve.java:170)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
170)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:564)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j
ava:163)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.jav
a:566)
[ERROR,Default]         at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:47
2)
[ERROR,Default]         at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ERROR,Default]         at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.ja
va:1011)
[ERROR,Default]         at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1
106)
[ERROR,Default]         at java.lang.Thread.run(Thread.java:536)

--------------------------------------------------------------------------

Our cases are:

1) When requesting a "dummy" record that already existed in the DB, inserted
by the DBA we can see it.

2) Creating a record, then Updating it is fine (same session)

3) Requesting a record the DBA put in and updating is fine.

4) Closing everything down and coming back into Castor, trying to re-request
a record that was created before (through castor) does not work - this is
our problem.

In all of these cases, we have a parallel JDBC test that shows the proper
results.  And from JDBC we can insert a record, close down the connection,
come back in and re-request the record with no problems.

Any help or insight into this would be greatly appreciated...

Thanks.

KJQ
[EMAIL PROTECTED]

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to