db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup
Date Mon, 15 Dec 2008 23:55:44 GMT
cleanupOnError does not log the original exception if it encounters an error on cleanup
---------------------------------------------------------------------------------------

                 Key: DERBY-3992
                 URL: https://issues.apache.org/jira/browse/DERBY-3992
             Project: Derby
          Issue Type: Bug
          Components: Services
    Affects Versions: 10.5.0.0
            Reporter: Kathey Marsden


Recently I encountered a couple of cases where we encountered an error on cleanupOnError so
the original exception that caused the cleanup action was lost.  It would be useful if the
exception passed to cleanupOnError was logged regardless of whether there was a subsequent
exception on cleanup.

Here are a couple sample traces.  The first was from a user site.
----------------------------------------------------------------
New exception raised during cleanup null
java.lang.NullPointerException
	at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
	at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.flush(Unknown Source)
	at org.apache.derby.impl.store.raw.data.CachedPage.writePage(Unknown Source)
	at org.apache.derby.impl.store.raw.data.CachedPage.clean(Unknown Source)
	at org.apache.derby.impl.services.cache.CachedItem.clean(Unknown Source)
	at org.apache.derby.impl.services.cache.Clock.cleanCache(Unknown Source)
	at org.apache.derby.impl.services.cache.Clock.cleanAll(Unknown Source)
	at org.apache.derby.impl.services.cache.Clock.shutdown(Unknown Source)
	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.stop(Unknown Source)
	at org.apache.derby.impl.services.monitor.TopService.stop(Unknown Source)
	at org.apache.derby.impl.services.monitor.TopService.shutdown(Unknown Source)
	at org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown Source)
	at org.apache.derby.impl.db.DatabaseContextImpl.cleanupOnError(Unknown Source)
	at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(Unknown Source)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:562)
	at java.sql.DriverManager.getConnection(DriverManager.java:186)

The second was from a run on IBM 1.6 of store/encryptDatabaseTest1.sql. 
I can't reproduce the error.
New exception raised during cleanup name can't be null
java.lang.NullPointerException: name can't be null
	at java.io.FilePermission.init(FilePermission.java:183)
	at java.io.FilePermission.<init>(FilePermission.java:267)
	at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
	at java.io.File.list(File.java:983)
	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.run(BaseDataFileFactory.java:2640)
	at java.security.AccessController.doPrivileged(AccessController.java:251)
	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.removeStubs(BaseDataFileFactory.java:1591)
	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.stop(BaseDataFileFactory.java:499)
	at org.apache.derby.impl.services.monitor.TopService.stop(TopService.java:405)
	at org.apache.derby.impl.services.monitor.TopService.shutdown(TopService.java:349)
	at org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(BaseMonitor.java:239)
	at org.apache.derby.impl.db.DatabaseContextImpl.cleanupOnError(DatabaseContextImpl.java:60)
	at org.apache.derby.iapi.services.context.ContextManager.cleanupOnError(ContextManager.java:332)
	at org.apache.derby.impl.jdbc.TransactionResourceImpl.cleanupOnError(TransactionResourceImpl.java:419)
	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:584)
	at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68)
	at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
	at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:119)
	at java.sql.DriverManager.getConnection(DriverManager.java:316)
	at java.sql.DriverManager.getConnection(DriverManager.java:297)
	at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:1329)
	at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:1179)
	at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:1007)
	at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:328)
	at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:248)
	at org.apache.derby.impl.tools.ij.Main.go(Main.java:215)
	at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:181)
	at org.apache.derby.impl.tools.ij.Main.main(Main.java:73)
	at org.apache.derby.tools.ij.main(ij.java:59)


In both cases it would have been useful to have the original exception


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


Mime
View raw message