[ 
http://issues.apache.org/jira/browse/DERBY-389?page=comments#action_12314407 ] 

Daniel John Debrunner commented on DERBY-389:
---------------------------------------------

Kathey, you may be correct in your  guess about removeStatement. The 
implmentation of that method synchronizes using the statement cache object. It 
is not required that callers of the cache synchronize on it, all of its methods 
are thread safe.
Indeed it may cause hangs, as the cache may release its syncrhonization (and 
expect it to be released) while it waits on its entries to perform actions.

> With Network Server Database hangs after some time with many connections 
> executing prepareStatement()
> -----------------------------------------------------------------------------------------------------
>
>          Key: DERBY-389
>          URL: http://issues.apache.org/jira/browse/DERBY-389
>      Project: Derby
>         Type: Bug
>   Components: JDBC, Network Server
>     Versions: 10.1.1.0, 10.2.0.0
>     Reporter: Kathey Marsden
>     Assignee: Kathey Marsden
>     Priority: Critical
>  Attachments: RTINFO.txt, derby.log, javacore.20050622.135027.2491.txt, 
> javacore.20050623.150509.22394.txt
>
> Rajesh found this issue in running Network Server system tests for the 10.1 
> release candidate
> While running the Network Server system test with 210 clients, 
> the  Network Server and all the clients hangs after some time. 
> A Ctrl+\ on the Network Server shows that upto 180 threads 
> waiting on the PreparedStatements to compile and comes from the 
> embedded engine. The following is the stack trace from the java 
> dump.
> 3XMTHREADINFO      "DRDAConnThread_181" (TID:1007C998, 
> sys_thread_t:85C4478, state:CW, native ID:4575ABB0) prio=5
> 4XESTACKTRACE          at java.lang.Object.wait(Native Method)
> 4XESTACKTRACE          at 
> java.lang.Object.wait(Object.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericSta
> tement.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatem
> ent.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.
> prepareInternalStatement(GenericLanguageConnectionContext.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Embe
> dPreparedStatement.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Em
> bedPreparedStatement20.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Em
> bedPreparedStatement30.java)
> 4XESTACKTRACE          at 
> org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Driver3
> 0.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Embe
> dConnection.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Embe
> dConnection.java)
> 4XESTACKTRACE          at 
> sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> 4XESTACKTRACE          at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
> AccessorImpl.java(Compiled Code))
> 4XESTACKTRACE          at 
> java.lang.reflect.Method.invoke(Method.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAStatement.prepareStatementJDBC3(D
> RDAStatement.java)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAStatement.prepare(DRDAStatement.j
> ava)
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAStatement.explicitPrepare(DRDASta
> tement.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAConnThread.parsePRPSQLSTT(DRDACon
> nThread.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDACo
> nnThread.java(Compiled Code))
> 4XESTACKTRACE          at 
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.jav
> a)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to