db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Updated: (DERBY-2892) Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks
Date Tue, 27 Nov 2007 13:10:45 GMT

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

Øystein Grøvlen updated DERBY-2892:
-----------------------------------

    Attachment: derby-2892.diff

Attached is a patch that solves the reported problem, and runs without
errors in the current test suites (suites.All and derbyall).  However,
I do not feel confident that there is sufficient testing in this area
to verify the fix.  I do not have time to add more tests right now,
but I hope to get back to this later.

Note also that this fix may affect existing applications since from
now only one get method per Blob/Clob column may now be called per
row of the result set.

The following describes the fixes in more detail:

M      java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LargeDataLocksTest.java
    Activate test also for client server to test the bug fix.

M      java/client/org/apache/derby/client/am/Cursor.java
    Access on Blob/Clob columns of result set is no longer forwarded
    to the relevant method on the Blob/Clob object.  Instead, it is
    made sure that the underlying Blob/Clob objects are freed when the
    access is completed.

M      java/client/org/apache/derby/client/am/Blob.java
    Make getBinaryStreamX() package private so that it can be used by
    Cursor.  This way, conversions between SqlException and
    SQLException are avoided.  

M      java/client/org/apache/derby/client/am/Clob.java
    Make get...StreamX methods package private so that it can be used
    by Cursor.  This way, conversions between SqlException and
    SQLException are avoided.

M      java/client/org/apache/derby/client/am/BlobLocatorInputStream.java
    Add method setFreeBlobOnClose() which can be called in order to
    make the stream free the underlying Blob object when it is closed.

M      java/client/org/apache/derby/client/am/ResultSet.java
    Closing the result set should close streams that have been opened
    on columns of the result set.

M      java/client/org/apache/derby/client/am/UpdateSensitiveLOBLocatorInputStream.java
    Closing the stream should also close the wrapped stream.

M      java/client/org/apache/derby/client/am/ClobLocatorInputStream.java
    Add method setFreeClobOnClose() which can be called in order to
    make the stream free the underlying Clob object when it is closed.

M      java/client/org/apache/derby/client/am/ClobLocatorReader.java
    Add method setFreeClobOnClose() which can be called in order to
    make the stream free the underlying Clob object when it is closed.



> Closing a resultset after retrieving a large > 32665 bytes value with Network Server
does not release locks
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2892
>                 URL: https://issues.apache.org/jira/browse/DERBY-2892
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.2.0, 10.3.1.4
>         Environment: JDK: build 1.6.0_01-b06 (WinXP & Gentoo/SuSE)
> Hardware: Intel x86
> Client/Server environment
>            Reporter: Thomas Niessen
>            Assignee: Øystein Grøvlen
>            Priority: Critical
>             Fix For: 10.2.2.1
>
>         Attachments: derby-2892.diff, DERBY-2892_07_10_07_try1_diff.txt, DERBY-2892_07_10_07_try1_stat.txt,
DERBY-2892_07_13_07_try2_diff.txt, DERBY-2892_07_13_07_try2_stat.txt, derby-2892firstshot.diff,
protocolErrorRepro.zip
>
>
> 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)

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


Mime
View raw message