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/16 00:55:44 UTC

[jira] Created: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup

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.


[jira] Assigned: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden reassigned DERBY-3992:
-------------------------------------

    Assignee:     (was: Kathey Marsden)

releasing this issue for now. I am not currently working on it.


> 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.1.1
>            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.


[jira] Assigned: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden reassigned DERBY-3992:
-------------------------------------

    Assignee: Kathey Marsden

> 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
>            Assignee: 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.


[jira] Updated: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-3992:
--------------------------------------

    Urgency: Normal

Triaged for 10.5.2.

> 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.1.1
>            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.


[jira] Updated: (DERBY-3992) cleanupOnError does not log the original exception if it encounters an error on cleanup

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-3992:
----------------------------------

    Derby Categories: [High Value Fix]

> 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.