[ http://issues.apache.org/jira/browse/DERBY-1219?page=comments#action_12383402 ]
Bryan Pendleton commented on DERBY-1219: ---------------------------------------- I think the interrupt.diff patch is very close to being good, but I think there are some synchronization issues to resolve. The interrupt.diff patch is very reliable on my Windows environment; that is, I cannot reproduce the hang with that diff in place. In my Linux environment, however, the test still hangs with that patch. However, if I introduce even very small timing changes into the test; for example if I put a println statement into a critical section of the getNextSession() logic, then the hang disappears. So I think that the interrupt.diff patch can perhaps be combined with some additional synchronization as Deepa suggested earlier, to solve some of the races between the Network Server restart, the DRDAConnThreads calling getNextSession, and the ClientThread logic involving creating a new session and conditionally creating a new thread. I'll continue to fiddle with the configuration that I have in which I can still provoke a hang, and see what I can do to understand it better. > jdbcapi/checkDataSource.java and jdbcapi/checkDataSource30.java hang > intermittently with client > ----------------------------------------------------------------------------------------------- > > Key: DERBY-1219 > URL: http://issues.apache.org/jira/browse/DERBY-1219 > Project: Derby > Type: Test > Components: Network Server, Network Client > Versions: 10.2.0.0 > Environment: More often on jdk 1.5 or jdk 1.6 but hangs on jdk 1.4.2 as well > Reporter: Kathey Marsden > Assignee: Bryan Pendleton > Priority: Minor > Attachments: client_stack_trace_050306.txt, drda_traces_050206.zip, > interrupt.diff, no-sessions-for-closed-threads.diff, > server_stack_trace_050306.txt, skipThreads.diff, testfiles_afterhang.zip, > traces_on_hang.txt > > The tests checkDataSource.java and checkDataSource30.java > hang intermittently especially with jdk 1.5. > Attached is the test run output and traces when the server is started > separately. > 1) Enable checkDataSource30.java by taking it out of > functionTests/suites/DerbyNetClient.exclude. > 2) Run the test with client. > java -Dij.exceptionTrace=true -Dkeepfiles=true -Dframework=DerbyNetClient > org.apache.derbyTesting.functionTests.harness.RunTest > jdbcapi/checkDataSource30.java > Attachements: > testfiles_after_hang.zip - Test directory. > traces_on_hang.txt - Server side traces obtained by starting the server > separately before running the test. > I wish I had time to work on this right now as I would really like to see > this valuable test in the suite, but hopefully someone else will pick it up. -- 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
