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] Commented: (DERBY-2892) Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks
Date Thu, 27 Sep 2007 15:08:51 GMT

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

Øystein Grøvlen commented on DERBY-2892:
----------------------------------------

So my plan to fix this has two parts:

1. Change the locking so that the lock for a LOB is released when the
   LOB object is closed.  My studies so far indicates that this can be
   achieved as follows:

   a) Use read committed instead of repeatable read for the locking
      policy in OverflowInputStream#initStream.  This will associate
      the lock with the BaseContainerHandle that owns the
      OverflowInputStream instead of the transaction.

   b) Release the locks for the BaseContainerHandle that owns the
      OverflowInputStream when it is closed. (Debugging shows that
      OverflowInputStream#close is called when a Blob/Clob object is
      freed.)

2. Make sure a client releases locators when they are not to be used
   anymore.  That is, the procedure to release a locator obtained by
   getBinaryStream etc. will be called when next() or close() is
   called on the result set.

   Since, according to the JDBC spec, such streams are only valid
   until the next getXXX call, there should only be necessary to keep
   track of one such locator at a time.  So when a new stream is
   opened, the previous locator can be released.  Hence, it should not
   be necessary to maintain a set of locators for the current row, one
   single "current" locator per result set is sufficient.


> 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
>            Priority: Critical
>             Fix For: 10.2.2.1
>
>         Attachments: 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, 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