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 "Satheesh Bandaram (JIRA)" <de...@db.apache.org> on 2005/08/26 01:59:08 UTC

[jira] Created: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
--------------------------------------------------------------------------------------------------------------------------

         Key: DERBY-541
         URL: http://issues.apache.org/jira/browse/DERBY-541
     Project: Derby
        Type: Bug
  Components: SQL  
    Versions: 10.1.1.0, 10.2.0.0    
 Environment: All platforms
    Reporter: Satheesh Bandaram
    Priority: Minor


Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.

After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:

ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
ERROR 40XD1: Container was opened in read-only mode.

Here is the stack trace:

ERROR 40XD1: Container was opened in read-only mode.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
        at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
        at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
(BaseContainerHandle.java:786)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
        at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
        at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
        at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
(OpenConglomerate.java:865)
        at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
        at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
        at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
        at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
        at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
PropertyConglomerate.java:296)
        at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
        at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
        at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
        at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
        at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
        at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
GenericLanguageConnectionFactory.java:328)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
ava:1996)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
ce.java:290)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
nitor.java:542)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
tor.java:418)
        at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
        at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
BaseMonitor.java:1528)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
        at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
(Monitor.java:533)
        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
        at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
        at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:140)
        at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
        at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
        at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
        at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
        at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
        at org.apache.derby.tools.ij.main(ij.java:60)
ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Andrew McIntyre closed DERBY-541.
---------------------------------


> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-541
>                 URL: http://issues.apache.org/jira/browse/DERBY-541
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.0.0, 10.1.3.2
>         Environment: All platforms
>            Reporter: Satheesh Bandaram
>         Assigned To: Satheesh Bandaram
>            Priority: Minor
>             Fix For: 10.2.0.0, 10.1.3.2
>
>         Attachments: DERBY-541
>
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Satheesh Bandaram (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-541?page=comments#action_12365675 ] 

Satheesh Bandaram commented on DERBY-541:
-----------------------------------------

Forgot to mention, I tested soft-upgrade from a 10.0 database_in_a_jar and a 10.1 database_in_a_jar to 10.2 after this fix and works as expected.

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-541
>          URL: http://issues.apache.org/jira/browse/DERBY-541
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0, 10.2.0.0
>  Environment: All platforms
>     Reporter: Satheesh Bandaram
>     Assignee: Satheesh Bandaram
>     Priority: Minor
>  Attachments: DERBY-541
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Andrew McIntyre resolved DERBY-541.
-----------------------------------

    Fix Version/s: 10.1.3.2
       Resolution: Fixed

Merged to 10.1 with revision 426699.

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-541
>                 URL: http://issues.apache.org/jira/browse/DERBY-541
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.0.0, 10.1.3.2
>         Environment: All platforms
>            Reporter: Satheesh Bandaram
>         Assigned To: Satheesh Bandaram
>            Priority: Minor
>             Fix For: 10.1.3.2, 10.2.0.0
>
>         Attachments: DERBY-541
>
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Assigned: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Satheesh Bandaram (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Satheesh Bandaram reassigned DERBY-541:
---------------------------------------

    Assign To: Satheesh Bandaram

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-541
>          URL: http://issues.apache.org/jira/browse/DERBY-541
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0, 10.2.0.0
>  Environment: All platforms
>     Reporter: Satheesh Bandaram
>     Assignee: Satheesh Bandaram
>     Priority: Minor

>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Andrew McIntyre updated DERBY-541:
----------------------------------

    Affects Version/s: 10.1.3.2

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-541
>                 URL: http://issues.apache.org/jira/browse/DERBY-541
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.0.0, 10.1.3.2
>         Environment: All platforms
>            Reporter: Satheesh Bandaram
>         Assigned To: Satheesh Bandaram
>            Priority: Minor
>             Fix For: 10.2.0.0
>
>         Attachments: DERBY-541
>
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Rick Hillegas (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Rick Hillegas updated DERBY-541:
--------------------------------

    Urgency: Low

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-541
>                 URL: http://issues.apache.org/jira/browse/DERBY-541
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.0.0, 10.1.3.2
>         Environment: All platforms
>            Reporter: Satheesh Bandaram
>         Assigned To: Satheesh Bandaram
>            Priority: Minor
>             Fix For: 10.2.0.0
>
>         Attachments: DERBY-541
>
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Satheesh Bandaram (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]
     
Satheesh Bandaram resolved DERBY-541:
-------------------------------------

    Fix Version: 10.2.0.0
     Resolution: Fixed

Sending        java\engine\org\apache\derby\impl\sql\catalog\DD_Version.java
Transmitting file data .
Committed revision 376372.

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-541
>          URL: http://issues.apache.org/jira/browse/DERBY-541
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0, 10.2.0.0
>  Environment: All platforms
>     Reporter: Satheesh Bandaram
>     Assignee: Satheesh Bandaram
>     Priority: Minor
>      Fix For: 10.2.0.0
>  Attachments: DERBY-541
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Satheesh Bandaram (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Satheesh Bandaram updated DERBY-541:
------------------------------------

    Attachment: DERBY-541

I have a patch for this simple problem. Let me know if anyone sees any issues with it. I will submit later today.

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-541
>          URL: http://issues.apache.org/jira/browse/DERBY-541
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0, 10.2.0.0
>  Environment: All platforms
>     Reporter: Satheesh Bandaram
>     Assignee: Satheesh Bandaram
>     Priority: Minor
>  Attachments: DERBY-541
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Reopened: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]

Andrew McIntyre reopened DERBY-541:
-----------------------------------

             
Reopening to merge to 10.1

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-541
>                 URL: http://issues.apache.org/jira/browse/DERBY-541
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.0.0, 10.1.3.2
>         Environment: All platforms
>            Reporter: Satheesh Bandaram
>         Assigned To: Satheesh Bandaram
>            Priority: Minor
>             Fix For: 10.2.0.0
>
>         Attachments: DERBY-541
>
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Closed: (DERBY-541) Read-only databases fail to boot after soft upgrade. Raises error message: 40XD1: Container was opened in read-only mode.

Posted by "Satheesh Bandaram (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-541?page=all ]
     
Satheesh Bandaram closed DERBY-541:
-----------------------------------


Tested the fix by upgrading a read-only database from 10.0 and 10.1 to 10.2 Alpha.

> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-541
>          URL: http://issues.apache.org/jira/browse/DERBY-541
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0, 10.2.0.0
>  Environment: All platforms
>     Reporter: Satheesh Bandaram
>     Assignee: Satheesh Bandaram
>     Priority: Minor
>      Fix For: 10.2.0.0
>  Attachments: DERBY-541
>
> Attempting to boot a database that is created using Derby 10.0 fail in soft upgrade mode in Derby 10.1 or in trunk. (10.2) Boot fails with Error 40XD1: Container was opened in read-only mode.
> After debugging the problem a little, it seems soft upgrade code attempts do change a database property value and since the database is read-only, the error is raised. Here is what I tried:
> ij> connect 'jdbc:derby:jar:(t10.jar)t10db';
> ERROR XJ040: Failed to start database 'jar:(t10.jar)t10db', see the next exception for details.
> ERROR 40XD1: Container was opened in read-only mode.
> Here is the stack trace:
> ERROR 40XD1: Container was opened in read-only mode.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(BaseContainer.java:539)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer
> (BaseContainerHandle.java:786)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:633)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:494)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1270)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init
> (OpenConglomerate.java:865)
>         at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:675)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>         at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.openScan(PropertyConglomerate.java:230)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.saveProperty(
> PropertyConglomerate.java:296)
>         at org.apache.derby.impl.store.access.PropertyConglomerate.setProperty(PropertyConglomerate.java:535)
>         at org.apache.derby.impl.store.access.RAMTransaction.setProperty(RAMTransaction.java:1787)
>         at org.apache.derby.impl.sql.catalog.DD_Version.applySafeChanges(DD_Version.java:281)
>         at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded(DD_Version.java:223)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables(DataDictionaryImpl.java:5826)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java:629)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java:355)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(
> GenericLanguageConnectionFactory.java:328)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.j
> ava:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopServi
> ce.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMo
> nitor.java:542)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Moni
> tor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:193)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1996)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService
> BaseMonitor.java:1528)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:998)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:990)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
>         at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
>         at java.sql.DriverManager.getConnection(DriverManager.java:512)
>         at java.sql.DriverManager.getConnection(DriverManager.java:140)
>         at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:836)
>         at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:698)
>         at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:528)
>         at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:289)
>         at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
>         at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
>         at org.apache.derby.tools.ij.main(ij.java:60)
> ij>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira