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 "Kathey Marsden (JIRA)" <ji...@apache.org> on 2009/10/01 01:09:23 UTC
[jira] Updated: (DERBY-4149) test failure in
jdbcapi.InternationalConnectSimpleDSTest fixture testSimpleDSConnect on
IBM iseries - Database '?' not found.
[ https://issues.apache.org/jira/browse/DERBY-4149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden updated DERBY-4149:
----------------------------------
Attachment: ReproDerby4149.java
RemoveDir.java
The attached program RemveDir.java can be used to remove the
problem directories. You cd to the test directory and run
java RemoveDir <dirtoremove>, e.g java RemoveDir system.
The directory system and all its contents will be removed.
I tried this only with jdk16. Your program did not remove
directory entries, only files. I did not see it hang but it did not remove
the offending directory.
I am also attaching ReproDerby4149 which shows the problem connecting to
an international database on iseries. The program fails creating the
database with:
conn = DriverManager.getConnection("jdbc:derby:" + dbDir + ";create=true");
where dbDir is "test/\u4e10";
The connect fails with Database not found but does actually create a the
directory. This is the exception:
java.sql.SQLException: Database 'test/?' not found.
at java.lang.Throwable.<init>(Throwable.java:218)
at java.sql.SQLException.<init>(SQLException.java:218)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at ReproDerby4149.main(ReproDerby4149.java:13)
Caused by: java.sql.SQLException: Database 'test/?' not found.
at java.lang.Throwable.<init>(Throwable.java:196)
at java.sql.SQLException.<init>(SQLException.java:52)
at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 15 more
============= begin nested exception, level (1) ===========
java.sql.SQLException: Database 'test/?' not found.
at java.lang.Throwable.<init>(Throwable.java:196)
at java.sql.SQLException.<init>(SQLException.java:52)
at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at ReproDerby4149.main(ReproDerby4149.java:13)
============= end nested exception, level (1) ===========
Cleanup action completed
2009-09-30 16:20:50.841 GMT:
Shutting down instance a816c00e-0124-0bc0-d16d-00000010a8cb
----------------------------------------------------------------
I suspect a JVM bug here and am trying to narrow this down
to a java only repro.
In the test there is a teardown method that tries to remove the
directory but the problem is that it first tries to shutdown the
database which fails with the exception above. I suggest we
change the test to shutdown the engine instead of just the
database so the teardown can complete and clean up the
directory properly. I will submit a patch for that shortly.
> test failure in jdbcapi.InternationalConnectSimpleDSTest fixture testSimpleDSConnect on IBM iseries - Database '?' not found.
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-4149
> URL: https://issues.apache.org/jira/browse/DERBY-4149
> Project: Derby
> Issue Type: Bug
> Components: Test
> Environment: IBM iseries, OS: AS/400; OS version: !V5R4M0, jvm: IBM 1.5 (build 1.5.0_13-b05)
> Reporter: Myrna van Lunteren
> Attachments: removechindb.java, RemoveDir.java, ReproDerby4149.java
>
>
> This is the test failure's stack trace:
> testSimpleDSConnect(org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest)java.sql.SQLException: Database '?' not found.
> at java.lang.Throwable.<init>(Throwable.java:196)
> at java.lang.Exception.<init>(Exception.java:41)
> at java.sql.SQLException.<init>(SQLException.java:40)
> at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
> at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source)
> at org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectSimpleDSTest.testSimpleDSConnect(InternationalConnectSimpleDSTest.java:61)
> 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:84)
> 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)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.