db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: LINUX Hang on creation - ERROR XBM0J Directory already exists onsecond load
Date Thu, 03 Sep 2009 11:34:42 GMT
dev@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" 
> <Kristian.Waagan@Sun.COM>
> To: "Derby Discussion" <derby-user@db.apache.org>
> Sent: Thursday, September 03, 2009 11:20 AM
> Subject: Re: LINUX Hang on creation - ERROR XBM0J Directory already 
> exists onsecond load
>
>
>> dev@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
>>
>>
>


Mime
View raw message