db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tomohito Nakayama (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 Wed, 01 Aug 2007 13:57:53 GMT

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

Tomohito Nakayama commented on DERBY-2892:
------------------------------------------

I added the test code as next to LargeDataLocksTest and 
found that the behavior was same between embedded and client if explicitly getBlob.

+    public void testGetBlob() thr ows SQLException, IOException {
+        int numBytes = 0;
+        getConnection().setAutoCommit(false);
+        Statement stmt = createStatement();
+        String sql = "SELECT bincol from t1";
+        ResultSet rs = stmt.executeQuery(sql);
+        rs.next();
+        Blob blob = rs.getBlob(1);
+        InputStream stream = blob.getBinaryStream();
+        int read = stream.read();
+        while (read != -1) {
+            read = stream.read();
+            numBytes++;
+        }
+        assertEquals(38000, numBytes);
+        rs.close();
+        assertEquals(0, countLocks());
+        commit();
+    }
+
+

The result for embedded:
1) testGetBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest)junit.framework.AssertionFailedError:
expected:<0> but was:<2>
	at org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest.testGetBlob(LargeDataLocksTest.java:142)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:95)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.extensions.TestSetup.run(TestSetup.java:23)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)



The result for client :
2) testGetBlob(org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest)junit.framework.AssertionFailedError:
expected:<0> but was:<2>
	at org.apache.derbyTesting.functionTests.tests.jdbcapi.LargeDataLocksTest.testGetBlob(LargeDataLocksTest.java:142)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:95)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.extensions.TestSetup.run(TestSetup.java:23)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.extensions.TestSetup.run(TestSetup.java:23)
	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
	at junit.extensions.TestSetup.run(TestSetup.java:23)

Reading comments, I understood background of this result is locking for LOB.

> 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.1
>         Environment: JDK: build 1.6.0_01-b06 (WinXP & Gentoo/SuSE)
> Hardware: Intel x86
> Client/Server environment
>            Reporter: Thomas Niessen
>            Priority: Critical
>         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