Issue Details (XML | Word | Printable)

Key: DERBY-2892
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Kristian Waagan
Reporter: Thomas Niessen
Votes: 4
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Derby

Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

Created: 03/Jul/07 03:18 PM   Updated: 30/Jun/09 03:55 PM
Return to search
Component/s: SQL
Affects Version/s: 10.2.2.0, 10.3.1.4, 10.3.2.1
Fix Version/s: 10.3.3.0, 10.4.1.3, 10.5.1.1

Time Tracking:
Issue & Sub-Tasks
Issue Only
Not Specified

File Attachments:
  Size
File Licensed for inclusion in ASF works derby-2892-1a-alternative_fix_partial.diff 2008-04-02 11:02 PM Kristian Waagan 9 kB
File Licensed for inclusion in ASF works derby-2892-1b-alternative_fix_partial.diff 2008-04-09 10:21 AM Kristian Waagan 9 kB
File Licensed for inclusion in ASF works derby-2892-2a-alternative_fix_cleanup.diff 2008-04-09 10:29 AM Kristian Waagan 6 kB
File Licensed for inclusion in ASF works derby-2892.diff 2007-11-27 01:10 PM Øystein Grøvlen 19 kB
Text File Licensed for inclusion in ASF works DERBY-2892_07_10_07_try1_diff.txt 2007-07-12 12:47 AM Kathey Marsden 15 kB
Text File DERBY-2892_07_10_07_try1_stat.txt 2007-07-12 12:48 AM Kathey Marsden 0.4 kB
Text File Licensed for inclusion in ASF works DERBY-2892_07_13_07_try2_diff.txt 2007-07-13 08:21 PM Kathey Marsden 14 kB
Text File Licensed for inclusion in ASF works DERBY-2892_07_13_07_try2_stat.txt 2007-07-13 08:22 PM Kathey Marsden 0.7 kB
Text File derby-2892_10.3_try1_diff.txt 2008-04-24 08:36 PM Kathey Marsden 26 kB
File Licensed for inclusion in ASF works derby-2892firstshot.diff 2007-11-20 12:53 PM Øystein Grøvlen 4 kB
Zip Archive protocolErrorRepro.zip 2007-07-12 12:56 AM Kathey Marsden 181 kB
Environment:
JDK: build 1.6.0_01-b06 (WinXP & Gentoo/SuSE)
Hardware: Intel x86
Client/Server environment
Issue Links:
Dependants
 
Reference

Urgency: Normal
Bug behavior facts: Regression
Resolution Date: 25/Apr/08 03:46 PM

Sub-Tasks  All   Open   
No sub-tasks match this view.

 Description  « Hide
This is the same issue as DERBY-255 (https://issues.apache.org/jira/browse/DERBY-255). The test attached to DERBY-255 shows the locks being not released. Everything is fine when using Derby 10.1.3.1 .

I would think it's a regression bug.


Output from sysinfo:

------------------ Java-Informationen ------------------
Java-Version: 1.6.0_01
Java-Anbieter: Sun Microsystems Inc.
Java-Home: C:\work\applications\development\java\jdk1.6u1-SE\jre
Java-Klassenpfad: C:\work\applications\development\derby-10.2.2.0/lib/derby.jar;C:\work\applications\development\derby-
0.2.2.0/lib/derbynet.jar;C:\work\applications\development\derby-10.2.2.0/lib/derbyclient.jar;C:\work\applications\devel
pment\derby-10.2.2.0/lib/derbytools.jar
Name des Betriebssystems: Windows XP
Architektur des Betriebssystems: x86
Betriebssystemversion: 5.1
Java-Benutzername: thomas.niessen
Java-Benutzerausgangsverzeichnis: C:\Dokumente und Einstellungen\thomas.niessen
Java-Benutzerverzeichnis: C:\work\applications\development\derby-10.2.2.0
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby-Informationen --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[C:\work\applications\development\derby-10.2.2.0\lib\derby.jar] 10.2.2.0 - (485682)
[C:\work\applications\development\derby-10.2.2.0\lib\derbytools.jar] 10.2.2.0 - (485682)
[C:\work\applications\development\derby-10.2.2.0\lib\derbynet.jar] 10.2.2.0 - (485682)
[C:\work\applications\development\derby-10.2.2.0\lib\derbyclient.jar] 10.2.2.0 - (485682)
------------------------------------------------------
----------------- Informationen zur Lõndereinstellung -----------------
Aktuelle Lõndereinstellung: [Deutsch/Deutschland [de_DE]]
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [cs]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [de_DE]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [es]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [fr]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [hu]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [it]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [ja_JP]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [ko_KR]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [pl]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [pt_BR]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [ru]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [zh_CN]
         Version: 10.2.2.0 - (485682)
Es wurde Unterst³tzung f³r die folgende Lõndereinstellung gefunden: [zh_TW]
         Version: 10.2.2.0 - (485682)

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #554079 Fri Jul 06 22:53:44 UTC 2007 kmarsden Disable LargeDataLocksTest for client until DERBY-2892 is fixed
Files Changed
MODIFY /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java

Repository Revision Date User Message
ASF #556058 Fri Jul 13 16:36:13 UTC 2007 kmarsden DERBY-2892 (testcase only)
The test LargeDataLocks can be run to reproduce DERBY-2892.
Test cannot be enabled until that bug is fixed
Files Changed
ADD /db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocks.java
MODIFY /db/derby/code/branches/10.2/java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall

Repository Revision Date User Message
ASF #642974 Mon Mar 31 12:23:02 UTC 2008 kmarsden DERBY-2892 Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

Fixes getString(), getCharacaterStream(), getBytes, getBinaryStream() so they don't hold locks. Also restricts BLOB columns to a single getXXX call.

Patch contributed by Oystein Grovlen (oystein dot grovlen at sun dot com)
Files Changed
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/Blob.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/Clob.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/ClobLocatorReader.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/ResultSet.java
MODIFY /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/ClobLocatorInputStream.java

Repository Revision Date User Message
ASF #643091 Mon Mar 31 18:32:11 UTC 2008 kmarsden DERBY-2892 Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

Contributed by Øystein Grøvlen (oystein dot grovlen at sun dot com)
port from trunk, revision 642974
Files Changed
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/Blob.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/Clob.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/ClobLocatorReader.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/Cursor.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/ResultSet.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
MODIFY /db/derby/code/branches/10.4/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/ClobLocatorInputStream.java

Repository Revision Date User Message
ASF #646255 Wed Apr 09 10:20:57 UTC 2008 kristwaa DERBY-2892: Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks.
Fixed the problem in an alternative way to avoid compatibility problems. Instead of explicitly closing the underlying LOB when creating streams etc, closing is now handled by the LOBStateTracker in the same way as if the LOB column had never been accessed by the user. Multiple result set getter methods can (again) be called on a LOB column, except for the getters returning streams.
Patch file: DERBY-2892-1b-alternative_fix_partial.diff
Files Changed
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/Cursor.java

Repository Revision Date User Message
ASF #647465 Sat Apr 12 16:22:05 UTC 2008 dyre DERBY-2892: Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

Merging the DERBY-2892-1b-alternative_fix_partial.diff patch to 10.4 with
svn merge -r 646254:646255 ../derby-xact
No conflicts.
Files Changed
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/net/NetCursor.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/Cursor.java

Repository Revision Date User Message
ASF #647680 Mon Apr 14 07:31:38 UTC 2008 kristwaa DERBY-2892: Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks.
Cleanup patch removing code that became unused after the alternative fix went in.
Patch file: DERBY-2892-2a-alternative_fix_cleanup.diff
Files Changed
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/ClobLocatorReader.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
MODIFY /db/derby/code/trunk/java/client/org/apache/derby/client/am/ClobLocatorInputStream.java

Repository Revision Date User Message
ASF #647682 Mon Apr 14 07:39:29 UTC 2008 kristwaa DERBY-2892: Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks.
Cleanup merged from trunk revision 647680 (DERBY-2892-2a-alternative_fix_cleanup.diff).
Files Changed
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/ClobLocatorReader.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
MODIFY /db/derby/code/branches/10.4/java/client/org/apache/derby/client/am/ClobLocatorInputStream.java

Repository Revision Date User Message
ASF #651631 Fri Apr 25 15:46:58 UTC 2008 kmarsden DERBY-2892 Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks

DERBY-3571 LOB locators are not released if the LOB columns are not accessed by the client

port from trunk revisions, 642974,643819,646255,647680
patches contributed by Kristian Waagan (Kristian dot Waagan at Sun dot com)
Files Changed
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/Statement.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/Connection.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/net/NetCursor.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/Blob.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/Clob.java
MODIFY /db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/_Suite.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/net/NetConnection.java
ADD /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/LOBStateTracker.java (from /db/derby/code/trunk/java/client/org/apache/derby/client/am/LOBStateTracker.java)
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/Cursor.java
MODIFY /db/derby/code/branches/10.3/java/client/org/apache/derby/client/am/ResultSet.java
ADD /db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/LOBLocatorReleaseTest.java (from /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/LOBLocatorReleaseTest.java)
MODIFY /db/derby/code/branches/10.3/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java