Cayenne
  1. Cayenne
  2. CAY-466

Improving Modeler preferences DB concurrency and consistency

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.2 branch
    • Fix Version/s: Undefined future
    • Component/s: Modeler
    • Labels:
      None

      Description

      Embedded HSQLDB creates a number of concurrency problems - two or more instances of the Modeler can't use the same DB; when a Modeler is killed via kill -9, the DB lock is not cleaned; fresh preferences updates are not picked up by the local apps using cayenne "JNDI emulation" mode, etc.

      Suggested improvements:

      • Issue SHUTDOWN periodically (most likely by closing the connection pool and using "shutdown=true" URL property, so it will be transparent to Cayenne)
      • When a DB is locked we create a copy of it so that the Modeler can still run. But then if the preferences are saved to this copy, they never make it to the master instance. Improve that by presenting "unlock preferences" dialog when a user attempts to edit preferences on the copy. If a users selects "yes, unlock", an attempt will be made to delete the lock on the master DB and take it over.

        Activity

        Hide
        Andrus Adamchik added a comment -

        This is no longer relevant. Preferences are being switched to java.util.prefs per CAY-1327.

        Show
        Andrus Adamchik added a comment - This is no longer relevant. Preferences are being switched to java.util.prefs per CAY-1327 .
        Hide
        Thomas Bernhard added a comment -

        If HSQLDB is creating so many problems, why not replace it with Derby or H2?
        E.g. H2 is much faster:
        http://h2database.com
        And it's pretty compatible with Hypersonic.H2 it's made by the original author of Hypersonic.

        Tom.

        Show
        Thomas Bernhard added a comment - If HSQLDB is creating so many problems, why not replace it with Derby or H2? E.g. H2 is much faster: http://h2database.com And it's pretty compatible with Hypersonic.H2 it's made by the original author of Hypersonic. Tom.
        Hide
        Andrus Adamchik added a comment -

        Also HSQLDB is prone to corruption. So we need to catch Modeler startup errors and probably reset the DB (and/or show a warning)

        Here is one example (after using the db in parallel from both the Modeler and JNDIDataSourceFactory):

        ===== Thursday, March 2, 2006 8:50:24 AM Europe/Moscow =====
        java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkBounds(Buffer.java:454)
        at java.nio.ByteBuffer.get(ByteBuffer.java:612)
        at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232)
        at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source)
        at org.hsqldb.persist.DataFileCache.readObject(Unknown Source)
        at org.hsqldb.persist.DataFileCache.get(Unknown Source)
        at org.hsqldb.Table$RowStore.get(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
        at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
        at org.hsqldb.persist.Log.processScript(Unknown Source)
        at org.hsqldb.persist.Log.open(Unknown Source)
        at org.hsqldb.persist.Logger.openLog(Unknown Source)
        at org.hsqldb.Database.reopen(Unknown Source)
        at org.hsqldb.Database.open(Unknown Source)
        at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
        at org.hsqldb.DatabaseManager.newSession(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:395)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155)
        at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289)
        at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195)
        at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:478)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
        java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkBounds(Buffer.java:454)
        at java.nio.ByteBuffer.get(ByteBuffer.java:612)
        at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232)
        at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source)
        at org.hsqldb.persist.DataFileCache.readObject(Unknown Source)
        at org.hsqldb.persist.DataFileCache.get(Unknown Source)
        at org.hsqldb.Table$RowStore.get(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
        at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
        at org.hsqldb.persist.Log.processScript(Unknown Source)
        at org.hsqldb.persist.Log.open(Unknown Source)
        at org.hsqldb.persist.Logger.openLog(Unknown Source)
        at org.hsqldb.Database.reopen(Unknown Source)
        at org.hsqldb.Database.open(Unknown Source)
        at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
        at org.hsqldb.DatabaseManager.newSession(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155)
        at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289)
        at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195)
        at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:478)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
        apple.awt.EventQueueExceptionHandler Caught Throwable : org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception.
        org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception.
        at org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalException(DataDomainQueryAction.java:420)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:312)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250)
        at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172)
        at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155)
        at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289)
        at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195)
        at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:478)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
        Caused by: java.sql.SQLException: error in script file line: 14 S1000 General error java.lang.IndexOutOfBoundsException in statement [SET TABLE DB_GENERATOR_DEFAULTS INDEX'3416 0']
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        ... 24 more
        java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkBounds(Buffer.java:454)
        at java.nio.ByteBuffer.get(ByteBuffer.java:612)
        at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232)
        at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source)
        at org.hsqldb.persist.DataFileCache.readObject(Unknown Source)
        at org.hsqldb.persist.DataFileCache.get(Unknown Source)
        at org.hsqldb.Table$RowStore.get(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
        at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
        at org.hsqldb.persist.Log.processScript(Unknown Source)
        at org.hsqldb.persist.Log.open(Unknown Source)
        at org.hsqldb.persist.Logger.openLog(Unknown Source)
        at org.hsqldb.Database.reopen(Unknown Source)
        at org.hsqldb.Database.open(Unknown Source)
        at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
        at org.hsqldb.DatabaseManager.newSession(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:395)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216)
        at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173)
        at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156)
        java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkBounds(Buffer.java:454)
        at java.nio.ByteBuffer.get(ByteBuffer.java:612)
        at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232)
        at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source)
        at org.hsqldb.persist.DataFileCache.readObject(Unknown Source)
        at org.hsqldb.persist.DataFileCache.get(Unknown Source)
        at org.hsqldb.Table$RowStore.get(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.Table.setIndexRoots(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source)
        at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source)
        at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
        at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
        at org.hsqldb.persist.Log.processScript(Unknown Source)
        at org.hsqldb.persist.Log.open(Unknown Source)
        at org.hsqldb.persist.Logger.openLog(Unknown Source)
        at org.hsqldb.Database.reopen(Unknown Source)
        at org.hsqldb.Database.open(Unknown Source)
        at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
        at org.hsqldb.DatabaseManager.newSession(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216)
        at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173)
        at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156)
        org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception.
        at org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalException(DataDomainQueryAction.java:420)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:312)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298)
        at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724)
        at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206)
        at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721)
        at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244)
        at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88)
        at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261)
        at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216)
        at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271)
        at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173)
        at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156)
        Caused by: java.sql.SQLException: error in script file line: 14 S1000 General error java.lang.IndexOutOfBoundsException in statement [SET TABLE DB_GENERATOR_DEFAULTS INDEX'3416 0']
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124)
        at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161)
        at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411)
        at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385)
        at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589)
        at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301)
        ... 12 more

        Show
        Andrus Adamchik added a comment - Also HSQLDB is prone to corruption. So we need to catch Modeler startup errors and probably reset the DB (and/or show a warning) Here is one example (after using the db in parallel from both the Modeler and JNDIDataSourceFactory): ===== Thursday, March 2, 2006 8:50:24 AM Europe/Moscow ===== java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkBounds(Buffer.java:454) at java.nio.ByteBuffer.get(ByteBuffer.java:612) at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232) at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.Table$RowStore.get(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source) at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source) at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source) at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source) at org.hsqldb.persist.Log.processScript(Unknown Source) at org.hsqldb.persist.Log.open(Unknown Source) at org.hsqldb.persist.Logger.openLog(Unknown Source) at org.hsqldb.Database.reopen(Unknown Source) at org.hsqldb.Database.open(Unknown Source) at org.hsqldb.DatabaseManager.getDatabase(Unknown Source) at org.hsqldb.DatabaseManager.newSession(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:395) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444) at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119) at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172) at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155) at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289) at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195) at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189) at java.awt.EventQueue.dispatchEvent(EventQueue.java:478) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkBounds(Buffer.java:454) at java.nio.ByteBuffer.get(ByteBuffer.java:612) at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232) at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.Table$RowStore.get(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source) at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source) at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source) at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source) at org.hsqldb.persist.Log.processScript(Unknown Source) at org.hsqldb.persist.Log.open(Unknown Source) at org.hsqldb.persist.Logger.openLog(Unknown Source) at org.hsqldb.Database.reopen(Unknown Source) at org.hsqldb.Database.open(Unknown Source) at org.hsqldb.DatabaseManager.getDatabase(Unknown Source) at org.hsqldb.DatabaseManager.newSession(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444) at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119) at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172) at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155) at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289) at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195) at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189) at java.awt.EventQueue.dispatchEvent(EventQueue.java:478) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) apple.awt.EventQueueExceptionHandler Caught Throwable : org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception. org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception. at org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalException(DataDomainQueryAction.java:420) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:312) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1250) at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1444) at org.objectstyle.cayenne.pref.CayennePreferenceService.getDomain(CayennePreferenceService.java:119) at org.objectstyle.cayenne.pref.CayennePreferenceService.getPreferenceDomain(CayennePreferenceService.java:172) at org.objectstyle.cayenne.pref.CayennePreferenceService.initPreferences(CayennePreferenceService.java:180) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.startService(HSQLEmbeddedPreferenceService.java:155) at org.objectstyle.cayenne.modeler.Application.initPreferences(Application.java:289) at org.objectstyle.cayenne.modeler.Application.startup(Application.java:195) at org.objectstyle.cayenne.modeler.Main$1.run(Main.java:133) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189) at java.awt.EventQueue.dispatchEvent(EventQueue.java:478) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) Caused by: java.sql.SQLException: error in script file line: 14 S1000 General error java.lang.IndexOutOfBoundsException in statement [SET TABLE DB_GENERATOR_DEFAULTS INDEX'3416 0'] at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) ... 24 more java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkBounds(Buffer.java:454) at java.nio.ByteBuffer.get(ByteBuffer.java:612) at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232) at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.Table$RowStore.get(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source) at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source) at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source) at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source) at org.hsqldb.persist.Log.processScript(Unknown Source) at org.hsqldb.persist.Log.open(Unknown Source) at org.hsqldb.persist.Logger.openLog(Unknown Source) at org.hsqldb.Database.reopen(Unknown Source) at org.hsqldb.Database.open(Unknown Source) at org.hsqldb.DatabaseManager.getDatabase(Unknown Source) at org.hsqldb.DatabaseManager.newSession(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:395) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216) at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173) at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156) java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkBounds(Buffer.java:454) at java.nio.ByteBuffer.get(ByteBuffer.java:612) at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:232) at org.hsqldb.persist.NIOScaledRAFile.read(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.Table$RowStore.get(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.processSet(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.executePart(Unknown Source) at org.hsqldb.DatabaseCommandInterpreter.execute(Unknown Source) at org.hsqldb.Session.sqlExecuteDirectNoPreChecks(Unknown Source) at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source) at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source) at org.hsqldb.persist.Log.processScript(Unknown Source) at org.hsqldb.persist.Log.open(Unknown Source) at org.hsqldb.persist.Logger.openLog(Unknown Source) at org.hsqldb.Database.reopen(Unknown Source) at org.hsqldb.Database.open(Unknown Source) at org.hsqldb.DatabaseManager.getDatabase(Unknown Source) at org.hsqldb.DatabaseManager.newSession(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216) at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173) at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156) org.objectstyle.cayenne.CayenneRuntimeException: [v.1.2M11 February 13 2006] Global exception. at org.objectstyle.cayenne.access.DataDomainQueryAction.nextGlobalException(DataDomainQueryAction.java:420) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:312) at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:298) at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:138) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:724) at org.objectstyle.cayenne.access.Transaction.onQuery(Transaction.java:206) at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:721) at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:244) at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:88) at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1261) at org.objectstyle.cayenne.access.DataContext.performGenericQuery(DataContext.java:1216) at org.objectstyle.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1271) at org.objectstyle.cayenne.pref.HSQLEmbeddedPreferenceService.stopService(HSQLEmbeddedPreferenceService.java:173) at org.objectstyle.cayenne.pref.CayennePreferenceService$1.run(CayennePreferenceService.java:156) Caused by: java.sql.SQLException: error in script file line: 14 S1000 General error java.lang.IndexOutOfBoundsException in statement [SET TABLE DB_GENERATOR_DEFAULTS INDEX'3416 0'] at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at org.objectstyle.cayenne.conn.DriverDataSource.getConnection(DriverDataSource.java:151) at org.objectstyle.cayenne.conn.PooledConnectionImpl.reconnect(PooledConnectionImpl.java:124) at org.objectstyle.cayenne.conn.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:161) at org.objectstyle.cayenne.conn.PoolManager.uncheckConnection(PoolManager.java:427) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:411) at org.objectstyle.cayenne.conn.PoolManager.getConnection(PoolManager.java:385) at org.objectstyle.cayenne.access.DataNode$TransactionDataSource.getConnection(DataNode.java:589) at org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:301) ... 12 more

          People

          • Assignee:
            Andrus Adamchik
            Reporter:
            Andrus Adamchik
          • Votes:
            3 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development