You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Alastair Rae (JIRA)" <ji...@apache.org> on 2017/04/01 15:11:41 UTC
[jira] [Updated] (DERBY-6930) Embedded driver database remains
locked after close
[ https://issues.apache.org/jira/browse/DERBY-6930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alastair Rae updated DERBY-6930:
--------------------------------
Description:
1 Open and close a local embedded database in one process.
2 Open the database from another process - it fails with ERROR XJ040
Simple test program:
{code}
public static void main(String[] args) {
Properties p = new Properties();
p.setProperty("user", "dummy");
p.setProperty("password", "dummy");
String url = "jdbc:derby:/tmp/database;create=true";
try {
Connection c = DriverManager.getConnection(url, p);
c.close();
System.out.println("closed");
Thread.sleep(10000L);
System.out.println("ok");
} catch (Exception e) {
e.printStackTrace();
}
}
{code}
After the first close I can see:
{quote}
$ fuser /tmp/database/*
/tmp/database/dbex.lck: 13060
{quote}
was:
1 Open and close a local embedded database in one process.
2 Open the database from anther process - it fails with ERROR XJ040
Simple test program:
{code}
public static void main(String[] args) {
Properties p = new Properties();
p.setProperty("user", "dummy");
p.setProperty("password", "dummy");
String url = "jdbc:derby:/tmp/database;create=true";
try {
Connection c = DriverManager.getConnection(url, p);
c.close();
System.out.println("closed");
Thread.sleep(10000L);
System.out.println("ok");
} catch (Exception e) {
e.printStackTrace();
}
}
{code}
After the first close I can see:
{quote}
$ fuser /tmp/database/*
/tmp/database/dbex.lck: 13060
{quote}
> Embedded driver database remains locked after close
> ---------------------------------------------------
>
> Key: DERBY-6930
> URL: https://issues.apache.org/jira/browse/DERBY-6930
> Project: Derby
> Issue Type: Bug
> Components: Miscellaneous
> Affects Versions: 10.12.1.1
> Environment: OS X and Ubuntu
> Reporter: Alastair Rae
> Priority: Minor
>
> 1 Open and close a local embedded database in one process.
> 2 Open the database from another process - it fails with ERROR XJ040
> Simple test program:
> {code}
> public static void main(String[] args) {
> Properties p = new Properties();
> p.setProperty("user", "dummy");
> p.setProperty("password", "dummy");
> String url = "jdbc:derby:/tmp/database;create=true";
> try {
> Connection c = DriverManager.getConnection(url, p);
> c.close();
> System.out.println("closed");
> Thread.sleep(10000L);
> System.out.println("ok");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> {code}
> After the first close I can see:
> {quote}
> $ fuser /tmp/database/*
> /tmp/database/dbex.lck: 13060
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)