d...@xx wrote:
Thanks for so quick answer !
Yes I had found the jira issue but as it was not giving any workaround
;-)
I am thinking to all your suggestions but it is not so easy to do for
me... (I am quite new to LINUX and my dev machine is under Windows)
I have tested on another machine with Fedora
(java-1.6.0-openjdk-1.6.0.0-15.b14.fc10) and it is working !!
The non working machine is a Debian (JRE Sun Microsystems Inc. 1.6.0_13).
May not be relevant, but is the file system type the same on the two
machines?
(i.e. ext3 or ReiserFS)
Regards,
--
Kristian
For now I am going to make a small application to test only the Derby
feature and will give you the result.
Sincerely,
JY LINET
----- Original Message ----- From: "Kristian Waagan"
<[email protected]>
To: "Derby Discussion" <[email protected]>
Sent: Thursday, September 03, 2009 11:20 AM
Subject: Re: LINUX Hang on creation - ERROR XBM0J Directory already
exists onsecond load
d...@xx wrote:
Hi,
I have developped my application under Windows XP and everything is
working correctly.
Now I start testing under LINUX but without success.
When I start first time the embedded driver with create=true option,
the application hang but the database seams created, except that the
service.properties file doesn't exists (compare to Windows files).
Hello,
What you describe looks similar to
https://issues.apache.org/jira/browse/DERBY-4098
To start with a few general things:
- Does creating and then booting the database work when using ij only?
(ij is the Derby command line tool)
- Are you sure the application code isn't touching the database
directory or the services.properties file?
- Is it possible to limit DBCP to a single connection?
(rule out race conditions during creation/boot)
- Is it hard for you to switch to the client driver?
(for testing only, and remember to start the network server)
- Have you tried your application on several Linux machines, or only
one?
- Are you able to write something that will monitor your system for
all accesses to the service.properties?
(i.e something like DTrace on Solaris).
The fact that the file doesn't exist may be a problem...
Regards,
--
Kristian
The derby.log seams "normal" :
----------------------------------------------------------------
2009-09-03 08:42:56.580 GMT:
Booting Derby version The Apache Software Foundation - Apache Derby
- 10.5.1.1 - (764942): instance a816c00e-0123-7f12-1804-00002387de98
on database directory /home/idaxx/demo/srv/db/dataxx
Database Class Loader started - derby.database.classpath=''
When I restart the application I have the ERROR XBM0J. So it seams
that the creation is uncomplete.
The derby.log is :
2009-09-03 08:45:04.951 GMT
Thread[WrapperListener_start_runner,5,main] Cleanup action starting
ERROR XBM0J: Directory
/home/idaxx/demo/srv/db//home/idaxx/demo/srv/db/dataxx already exists.
at
org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.services.monitor.StorageFactoryService$9.run(Unknown
Source)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(Unknown
Source)
at
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown
Source)
at
org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown
Source)
at
org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(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
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at
fr.proxiflex.axx.db.Pool.getDataSourceConnection(Pool.java:236)
at
fr.proxiflex.axx.db.PXConnection.<init>(PXConnection.java:45)
at fr.proxiflex.axx.db.Pool.getConnection(Pool.java:241)
at
fr.proxiflex.axx.db.PoolList.getConnection(PoolList.java:136)
at fr.proxiflex.axx.db.DBContext.getConn(DBContext.java:111)
at fr.proxiflex.axx.db.DBContext.getConn(DBContext.java:93)
at fr.proxiflex.axx.Module.beforeInit(Module.java:234)
at
fr.proxiflex.axx.server.ModuleAbstract.init(ModuleAbstract.java:34)
at
fr.proxiflex.axx.server.DemuxIoHandler.initModule(DemuxIoHandler.java:353)
at
fr.proxiflex.axx.server.DemuxIoHandler.initModules(DemuxIoHandler.java:330)
at
fr.proxiflex.axx.server.DemuxIoHandler.<init>(DemuxIoHandler.java:187)
at fr.proxiflex.axx.server.PXServer.start(PXServer.java:232)
at
org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2979)
Cleanup action completed
2009-09-03 08:45:04.973 GMT
Thread[WrapperListener_start_runner,5,main] Cleanup action starting
java.sql.SQLException: Failed to create database 'directory:dataxx',
see the next exception for details.
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.seeNextException(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(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
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFacto
ry.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory
I made searches on internet and tried a lot of differents ways to
define the databasename and the home directory but without success.
Thanks for help...
JY LINET