[ 
https://issues.apache.org/jira/browse/DERBY-4856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lily Wei updated DERBY-4856:
----------------------------

    Attachment: DERBY-4856_part_3_3c.diff

Thanks to Kathey for reviewing the code and found problem for not able to get 
thread dump and diagnostic information when there is deadlock error. Please 
refer to test Derby3980DeadlockTest.

The changes for this patch compare to 3b are:
1.      Use isactive variable in SequenceUpdater.java
2.      Revise TransactionResourceImpl.cleanupOnError(Throwable error, Boolean 
diagActive) method to take one more parameter to further detect whether to 
process diagnostic information.
•       Pass whether database is active information in 
TransactionResourceImpl.handleException
3.      Assume database is not active when calling 
TransactionResourceImpl.cleanupOnError on EmbeddedConnection(...) init stage 
and EmbeddedConnection.close
4.      Change comments and variable name
5.      Add test to Derby3980DeadlockTest.java

Current result: There is one javacore* file after Derby3980DeadlockTest

I am running suites.all and derbyall tests. Please review the code.


> Add thread dump information when derby crash
> --------------------------------------------
>
>                 Key: DERBY-4856
>                 URL: https://issues.apache.org/jira/browse/DERBY-4856
>             Project: Derby
>          Issue Type: Bug
>          Components: Services
>            Reporter: Lily Wei
>            Assignee: Lily Wei
>            Priority: Minor
>             Fix For: 10.8.0.0
>
>         Attachments: ContextManager.java, corruptdb.zip, derby-4856-1a.diff, 
> DERBY-4856-part_1_1a.diff, DERBY-4856_part_2_2a.diff, 
> DERBY-4856_part_2_2b.diff, DERBY-4856_part_3_1a.diff, 
> DERBY-4856_part_3_2a.diff, DERBY-4856_part_3_3a.diff, 
> DERBY-4856_part_3_3b.diff, DERBY-4856_part_3_3c.diff, derby.log
>
>
> On system crash or session ending error, Derby should dump as much 
> information as possible. Such as: forcing a javacore if possible or at least 
> thread dump and system environment information. This should only occur if a 
> running session crashes not on boot error due to fail recovery etc.
> The IBM jvm provides a way to programmatically dump a javacore. i.e. 
> com.ibm.jvm.Dump.JavaDump() And, the SUN jvm will force a thread dump using 
> the Unsafe class and there may be a better way. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to