db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5096) DisconnectException: "Connection was refused because the database DB was not found" when creating db for first time
Date Mon, 21 Nov 2011 23:13:40 GMT

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

Kathey Marsden commented on DERBY-5096:
---------------------------------------

I can get past the database creation issue if I change StroageFactoryService.createServiceRoot()
to get the canonical path with:
                                   
return serviceDirectory.getCanonicalPath();
rather than
return storageFactory.getCanonicalName();

The real problem is that DirStorageFactory.java holds a canonicalName value which is cached
from the very first call to getCanonicalPath() in its doInit() method which occurs before
the directory is created,  so has the wrong casing on iSeries.   I think probably the best
comprehensive solution would be to only cache that value once we have a call to getCanonicalName
when the directory exists.



                
> 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
>            Assignee: Kathey Marsden
>         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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message