[ https://issues.apache.org/jira/browse/DERBY-7042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16808236#comment-16808236 ]
Rick Hillegas commented on DERBY-7042: -------------------------------------- Attaching Derby7042.java--this is the Database.java class from the git site. I have simply renamed the class. When I run the repro, it produces the following output: {noformat} Hello World Insert time: 15 seconds Hello World Update time: 15 seconds Gorilla 3 true Cincinnati Hello World {noformat} Can you explain how this is evidence of the bug? Thanks. > Multiple triggers with rowLocking = false causes deadlock > --------------------------------------------------------- > > Key: DERBY-7042 > URL: https://issues.apache.org/jira/browse/DERBY-7042 > Project: Derby > Issue Type: Bug > Components: Documentation, JDBC > Affects Versions: 10.8.2.2, 10.8.3.0, 10.9.1.0, 10.10.1.1, 10.10.2.0, > 10.11.1.1, 10.12.1.1, 10.13.1.1, 10.14.1.0, 10.14.2.0, 10.15.1.3 > Environment: ------------------ Java Information ------------------ > Java Version: 1.8.0_201 > Java Vendor: Oracle Corporation > OS name: Linux > OS architecture: i386 > OS version: 4.15.0-46-generic > java.specification.name: Java Platform API Specification > java.specification.version: 1.8 > java.runtime.version: 1.8.0_201-b09 > --------- Derby Information -------- > [.../TriggerRepro/derby/derby-10.14.1.0.jar] 10.14.1.0 - (1808820) > Reporter: Michael Schuetze > Priority: Minor > Labels: documentation, performance > Attachments: Derby7042.java > > > Repro for the bug can be found here: > [https://github.com/mjschuetze102/TriggerRepro] > Includes a detailed README of steps that show effect of bug as well as two > versions of the Derby database. 10.8.1.2, the last version where the bug was > not present and version 10.14.1.0, for easy access. > This may just be an issue of not having enough documentation on database > Triggers (see Conclusions Based on Results) > h2. Summary of Issue > *Having multiple triggers with {{'derby.storage.rowLocking', 'false'}} causes > issues with deadlocking* > # Executing Update trigger causes deadlock when there is an Insert or Delete > trigger > # Executing Insert trigger causes deadlock when there is a Delete trigger > # Executing Delete trigger does not cause deadlock > *{{'derby.locks.deadlockTimeout'}} does not seem to work in above case* > # While executing issue above, none of the triggers were terminated and > waitTimeout time was hit > h2. Conclusions Based on Results > *Having multiple triggers with {{'derby.storage.rowLocking', 'false'}} causes > issues with deadlocking* > Triggers seem to get into deadlock scenarios with any trigger defined after > itself. If this is the case, it should be documented somewhere that > rowLocking needs to be enabled to use the trigger feature if multiple > triggers would be used on the same database table. > *{{'derby.locks.deadlockTimeout'}} does not seem to work in above case* > Based on documentation, I could not find any concrete evidence of whether > this is intended functionality. -- This message was sent by Atlassian JIRA (v7.6.3#76005)