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 "Steven Hendrickx (JIRA)" <ji...@apache.org> on 2011/03/11 10:47:59 UTC

[jira] Commented: (DERBY-5096) DisconnectException: "Connection was refused because the database DB was not found" when creating db for first time

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

Steven Hendrickx commented on DERBY-5096:
-----------------------------------------

Kathey, you are correct: Basically our code does something like: 

new File(System.getProperty("user.home"), "productsubdir"); 

On the OS/400 system, System.getProperty("user.home")  returned "/home/SHENDRIC" for me, while this should be "/home/shendric" (ls in qsh or qp2term). This seems the root of all evil. When the code is changed to:

new File(new File(System.getProperty("user.home")).getCanonicalFile, "productsubdir");

the exception no longer occurs. Although this change seems to solve our problem, is there any plan to update Derby to anticipate this problem from within Derby itself?

Anyway, thanks for the fast feed back and the great help.





> DisconnectException: "Connection was refused because the database DB was not found" when creating db for first time
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5096
>                 URL: https://issues.apache.org/jira/browse/DERBY-5096
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.7.1.1
>         Environment: System: OS/400 V7R1M0 on PowerPC; JVM: IBM J9 VM 2.4 (consistently reproducible). 
> But also: Windows 2008 R2 on VMWare and Windows 7 64 bit with Sun VM (1.6) too (but not as consistently reproducible)
>            Reporter: Steven Hendrickx
>         Attachments: TestLowerCaseTraversal.java, getconnection_reproduce.zip
>
>
> A process starts derby as network server (new NetworkServerControl, start) and waits for derby to respond (retry ping until success). After the server has started, the same process makes a connection with DriverManager.getConnection().
> The first time this process runs, this will always fail with  "SQLNonTransientConnectionException: The connection was refused because the database Flows;create=true was not found." However, at the same time, "derby.log" and "Flows" directory are created in the derby home. The "Flows" directory contains "log", "seg0", "tmp", "db.lck", "service.properties", etc ...
> The second time the process is started, the connection will succeed and the "Flows" database can be used successfully. From now on, every start will be successful. After cleaning the derby home directory, you get the exception again after the first start.
> The attachment contains a Java program (DerbyGetConnection.java) that reproduces this problem consistently on our OS/400 V7R1M0 with IBM J9 VM. Probably this may happen on other systems too (Win7), but we were unable to reproduce it there (on my machine with Win7, this same program ran successful every run; might be a threading or I/O issue that occurs easily on slower hardware?).
> The attachment contains also derby tracing ("derby.drda.traceAll") and logging/tracing of the DriverManager.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira