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 2008/12/10 00:58:44 UTC

[jira] Closed: (DERBY-3976) Running out of file descriptors on recovery can give NullPointerException. Should give clearer message

     [ https://issues.apache.org/jira/browse/DERBY-3976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden closed DERBY-3976.
---------------------------------

    Resolution: Invalid

Closing this as invalid, the log did actually have the too many files open message even though it wasn't returned to the user. That's probably the best we can do.


> Running out of file descriptors on recovery can give NullPointerException. Should give clearer message
> ------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3976
>                 URL: https://issues.apache.org/jira/browse/DERBY-3976
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.0.0
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: derby.log, ReproNPEOnLowFD.java
>
>
> Running out of file descriptors on recovery can cause a NullPointerException. It should give a clearer message.  To reproduce
> 1) Run attached program with create argument
>    java ReproNPEOnLowFD create
> 2) Set ulimit low
>     ulimit -n 100
> 3) Run the program again with no argements
>    java ReproNPEOnLowFD
> # java ReproNPEOnLowFD create
> Creating database
> # ulimit -n 100
> # java ReproNPEOnLowFD
> java.lang.NullPointerException
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:558)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openDroppedContainer(BaseDataFileFactory.java:514)
>         at org.apache.derby.impl.store.raw.xact.Xact.openDroppedContainer(Xact.java:1298)
>         at org.apache.derby.impl.store.raw.data.ContainerBasicOperation.findContainer(ContainerBasicOperation.java:144)
>         at org.apache.derby.impl.store.raw.data.ContainerBasicOperation.needsRedo(ContainerBasicOperation.java:201)
>         at org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1394)
>         at org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:802)
>         at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:327)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:994)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:758)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:179)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1846)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1712)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1591)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:996)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:988)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1555)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:200)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:187)
>         at java.sql.DriverManager.getConnection(DriverManager.java:562)
>         at java.sql.DriverManager.getConnection(DriverManager.java:208)
>         at ReproNPEOnLowFD.main(ReproNPEOnLowFD.java:11)
> Exception in thread "main" SQL Exception: Failed to start database 'wombat', see the next exception for details.
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:80)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:166)
>         at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(EmbedConnection.java:1912)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1572)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:200)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:187)
>         at java.sql.DriverManager.getConnection(DriverManager.java:562)
>         at java.sql.DriverManager.getConnection(DriverManager.java:208)
>         at ReproNPEOnLowFD.main(ReproNPEOnLowFD.java:11)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.