Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Bug with autoDeriveSchema ?

    I got some strange errors since I changed most of my datasources to autoDeriveSchema="true".

    When starting apache, and after trying to load my application, I get this error:
    Code:
    === 2014-10-04 13:07:01,849 [ec-1] DEBUG XML - Parsed XML from C:\Users\Eduardo\git\zedes2\zedes2\war\ds\stufen.ds.xml: 2ms
    === 2014-10-04 13:07:01,849 [ec-1] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSource'
    === 2014-10-04 13:07:01,851 [ec-1] DEBUG ISCKeyedObjectPool - Borrowing object for 'operationBinding'
    === 2014-10-04 13:07:01,852 [ec-1] DEBUG ISCKeyedObjectPool - Borrowing object for 'OperationBinding'
    === 2014-10-04 13:07:01,854 [ec-1] INFO  SQLDataSource - Deriving dataSource stufen from table: t_tex_texte
    === 2014-10-04 13:07:01,855 [ec-1] DEBUG SQLConnectionManager - Borrowed connection '542164306'
    === 2014-10-04 13:07:01,855 [ec-1] INFO  SQLDSGenerator - Fetching column metadata for table: t_tex_texte
    === 2014-10-04 13:07:01,855 [ec-1] INFO  SQLDSGenerator - =============Using catalog: zedes2
    === 2014-10-04 13:07:01,888 [ec-1] INFO  SQLDSGenerator - Fetching column metadata for t_tex_texte complete
    === 2014-10-04 13:07:01,889 [ec-1] INFO  PoolableSQLConnectionFactory - No explicit configuration for db: derivedFromConnection in server.properties - will look for a Connection object at derivedFromConnection or java:comp/env/derivedFromConnection.
    === 2014-10-04 13:07:01,889 [ec-1] INFO  PoolManager - SmartClient pooling disabled for 'derivedFromConnection' objects
    === 2014-10-04 13:07:01,889 [ec-1] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
    === 2014-10-04 13:07:01,894 [ec-1] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
    === 2014-10-04 13:07:01,897 [ec-1] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
    === 2014-10-04 13:07:01,897 [ec-1] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
    === 2014-10-04 13:07:01,900 [ec-1] ERROR SQLDSGenerator - Unable to load foreign key information for autoDeriveFK logic.
    java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
    	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
    	at com.isomorphic.sql.SQLMetaData.getForeignKeys(SQLMetaData.java:334)
    	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:363)
    	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
    	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
    	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
    	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
    	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 13:07:01,903 [ec-1] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
    === 2014-10-04 13:07:01,903 [ec-1] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
    === 2014-10-04 13:07:01,904 [ec-1] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
    === 2014-10-04 13:07:01,904 [ec-1] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
    === 2014-10-04 13:07:01,904 [ec-1] DEBUG SQLConnectionManager - Connection 542164306 was already closed when we came to free it
    === 2014-10-04 13:07:01,904 [ec-1] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Exception while attempting to load a DataSource
    java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
    	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
    	at com.isomorphic.sql.SQLMetaData.getPrimaryKeys(SQLMetaData.java:326)
    	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:389)
    	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
    	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
    	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
    	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
    	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 13:07:01,907 [ec-1] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Top-level servlet error: 
    javax.servlet.ServletException: DataSource 'stufen' failed to load due to an exception on the server:
    java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    See the server-side log for additional details.
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:249)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 13:07:01,917 [ec-1] INFO  Compression - /zedes2/zedes2V010214/sc/DataSourceLoader: 93779 -> 14585 bytes
    === 2014-10-04 13:07:01,917 [ec-1] DEBUG ServletTools - setting cookie 'isc_cState' to: 'ready'
    The application is not loaded.

    It seems that the 'stufen' datasource is not loaded correctly:
    Code:
    <DataSource ID="stufen" serverType="sql" tableName="t_tex_texte"
    	autoDeriveSchema="true">
    
    	<operationBindings>
    		<operationBinding operationType="fetch">
    			<whereClause><![CDATA[
        		t_tex_texte.f_typ = 3
              	AND ($defaultWhereClause)
    		]]></whereClause>
    		</operationBinding>
    	</operationBindings>
    </DataSource>
    But each time, the datasource which could not be loaded changes:
    10 minutes ago I had the same error but with *another* datasource, which also has autoDeriveSchema="true".

    If I stop apache and start it again, the application is loaded correctly and I get no errors. What may be happening here?

    Using v9.1p_2014-09-25/PowerEdition Deployment (built 2014-09-25) with Apache 8.0.9 and MSSQL 2014.

    #2
    It just happened again with another datasource:

    Code:
    === 2014-10-04 15:10:05,760 [ec-5] DEBUG XML - Parsed XML from C:\Users\Eduardo\git\zedes2\zedes2\war\ds\briefVorlagen.ds.xml: 1ms
    === 2014-10-04 15:10:05,761 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSource'
    === 2014-10-04 15:10:05,763 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSourceField'
    === 2014-10-04 15:10:05,764 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'field'
    === 2014-10-04 15:10:05,765 [ec-5] INFO  SQLDataSource - Deriving dataSource briefVorlagen from table: t_brief_vorlagen
    === 2014-10-04 15:10:05,765 [ec-5] DEBUG SQLConnectionManager - Borrowed connection '1694357668'
    === 2014-10-04 15:10:05,766 [ec-5] INFO  SQLDSGenerator - Fetching column metadata for table: t_brief_vorlagen
    === 2014-10-04 15:10:05,766 [ec-5] INFO  SQLDSGenerator - =============Using catalog: zedes2
    === 2014-10-04 15:10:05,782 [ec-5] INFO  SQLDSGenerator - Fetching column metadata for t_brief_vorlagen complete
    === 2014-10-04 15:10:05,782 [ec-5] INFO  PoolableSQLConnectionFactory - No explicit configuration for db: derivedFromConnection in server.properties - will look for a Connection object at derivedFromConnection or java:comp/env/derivedFromConnection.
    === 2014-10-04 15:10:05,782 [ec-5] INFO  PoolManager - SmartClient pooling disabled for 'derivedFromConnection' objects
    === 2014-10-04 15:10:05,783 [ec-5] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
    === 2014-10-04 15:10:05,786 [ec-5] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
    === 2014-10-04 15:10:05,787 [ec-5] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
    === 2014-10-04 15:10:05,788 [ec-5] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
    === 2014-10-04 15:10:05,790 [ec-5] ERROR SQLDSGenerator - Unable to load foreign key information for autoDeriveFK logic.
    java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
    	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
    	at com.isomorphic.sql.SQLMetaData.getForeignKeys(SQLMetaData.java:334)
    	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:363)
    	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
    	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
    	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
    	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
    	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 15:10:05,791 [ec-5] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
    === 2014-10-04 15:10:05,792 [ec-5] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
    === 2014-10-04 15:10:05,792 [ec-5] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
    === 2014-10-04 15:10:05,792 [ec-5] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
    === 2014-10-04 15:10:05,792 [ec-5] DEBUG SQLConnectionManager - Connection 1694357668 was already closed when we came to free it
    === 2014-10-04 15:10:05,792 [ec-5] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Exception while attempting to load a DataSource
    java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
    	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
    	at com.isomorphic.sql.SQLMetaData.getPrimaryKeys(SQLMetaData.java:326)
    	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:389)
    	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
    	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
    	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
    	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
    	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 15:10:05,793 [ec-5] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Top-level servlet error: 
    javax.servlet.ServletException: DataSource 'briefVorlagen' failed to load due to an exception on the server:
    java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
    See the server-side log for additional details.
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:249)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
    	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Unknown Source)
    === 2014-10-04 15:10:05,811 [ec-5] INFO  Compression - /zedes2/zedes2V010214/sc/DataSourceLoader: 309055 -> 38554 bytes
    === 2014-10-04 15:10:06,230 [ec-3] INFO  RequestContext - URL: '/zedes2/zedes2V010214/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
    === 2014-10-04 15:10:06,233 [ec-3] DEBUG IDACall - Key[type=com.isomorphic.servlet.IDACall, annotation=[none]] - Header Name:Value pair: host:localhost:8081
    The datasource:
    Code:
    <DataSource ID="briefVorlagen" serverType="sql" tableName="t_brief_vorlagen"
    	autoDeriveSchema="true">
    
    	<fields>
    		<field name="f_text_hochgestellt" type="boolean"
    			sqlStorageStrategy="number" />
    
    	</fields>
    
    </DataSource>
    Edit: After restarting apache, the same happened with another datasource. Random datasources are not being loaded each time apache starts ?!
    Last edited by edulid; 4 Oct 2014, 05:16.

    Comment


      #3
      Something is really strange with the field auto generation. Maybe a MSSQL specific bug?

      After restarting apache, all datasources were correctly loaded.
      I attempted to insert a record but I get a new error:

      DSRequest:
      Code:
      {
          dataSource:"briefVorlagen", 
          operationType:"add", 
          data:{
              f_id:39, 
              f_typ:"BRIEF", 
              f_text:"abc", 
              f_name:"abc", 
              f_filename:"abc", 
              f_email_betreff:"abc", 
              f_email_vorlage:"abc", 
              f_dokumente_vorlage:"abc", 
              f_bilder_gruppe:7, 
              f_jasper_vorlage:1, 
              f_text_hochgestellt:false, 
              f_custom:null, 
              f_user:"x"
          }, 
          textMatchStyle:"exact", 
          showPrompt:true, 
          oldValues:{
              f_id:39, 
              f_typ:"BRIEF", 
              f_text:"abc", 
              f_name:"abc", 
              f_filename:"abc", 
              f_email_betreff:"abc", 
              f_email_vorlage:"abc", 
              f_dokumente_vorlage:"abc", 
              f_bilder_gruppe:7, 
              f_jasper_vorlage:1, 
              f_text_hochgestellt:false, 
              f_custom:null, 
              f_user:"x"
          }, 
          requestId:"briefVorlagen$62725", 
          fallbackToEval:false, 
          lastClientEventThreadCode:"XRP9", 
          bypassCache:true
      }
      DSResponse:
      Code:
      [
          {
              affectedRows:0, 
              data:"Cannot insert the value NULL into column 'f_id', table 'zedes2.dbo.t_brief_vorlagen'; column does not allow nulls. INSERT fails.", 
              invalidateCache:false, 
              isDSResponse:true, 
              queueStatus:-1, 
              status:-1
          }
      ]
      The response says f_id is not set, but if you take a look at the dsrequest, it is set: f_id = 39.
      Maybe the primary key is not generated correctly when autoDeriveSchema="true"?

      The datasource:
      Code:
      <DataSource ID="briefVorlagen" serverType="sql" tableName="t_brief_vorlagen"
      	autoDeriveSchema="true">
      
      	<fields>
      		<field name="f_text_hochgestellt" type="boolean"
      			sqlStorageStrategy="number" />
      
      	</fields>
      
      </DataSource>
      If you need it: The complete table declaration generated by MSSQL:
      Code:
      USE [zedes2]
      GO
      
      /****** Object:  Table [dbo].[t_brief_vorlagen]    Script Date: 04.10.2014 15:31:34 ******/
      SET ANSI_NULLS ON
      GO
      
      SET QUOTED_IDENTIFIER ON
      GO
      
      SET ANSI_PADDING ON
      GO
      
      CREATE TABLE [dbo].[t_brief_vorlagen](
      	[f_id] [int] NOT NULL,
      	[f_name] [varchar](50) NOT NULL,
      	[f_text] [varchar](max) NULL,
      	[f_jasper_vorlage] [int] NULL,
      	[f_bilder_gruppe] [int] NULL,
      	[f_email_betreff] [varchar](250) NULL,
      	[f_email_vorlage] [varchar](max) NULL,
      	[f_dokumente_vorlage] [varchar](max) NULL,
      	[f_filename] [varchar](100) NULL,
      	[f_custom] [varchar](50) NULL,
      	[f_typ] [varchar](10) NULL,
      	[f_user] [varchar](255) NOT NULL,
      	[f_text_hochgestellt] [bit] NULL,
       CONSTRAINT [PK_t_brief_vorlagen] PRIMARY KEY CLUSTERED 
      (
      	[f_id] ASC
      )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
      ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
      
      GO
      
      SET ANSI_PADDING OFF
      GO
      The logs:
      They suggest that smartgwt thinks that the field f_id is autogenerated (sequence) . But it is not!! It is a normal integer field with primary key constraint, as you see in the table declaration. So maybe the bug is here?

      logs:
      Code:
      === 2014-10-04 15:26:59,713 [ec-8] INFO  SQLDataSource - [builtinApplication.briefVorlagen_add] Performing add operation with
      	criteria: {f_id:39,f_typ:"BRIEF",f_text:"abc",f_name:"abc",f_filename:"abc",f_email_betreff:"abc",f_email_vorlage:"abc",f_dokumente_vorlage:"abc",f_bilder_gruppe:7,f_jasper_vorlage:1,f_text_hochgestellt:false,f_custom:null,f_user:"x"}	values: {f_id:39,f_typ:"BRIEF",f_text:"abc",f_name:"abc",f_filename:"abc",f_email_betreff:"abc",f_email_vorlage:"abc",f_dokumente_vorlage:"abc",f_bilder_gruppe:7,f_jasper_vorlage:1,f_text_hochgestellt:false,f_custom:null,f_user:"x"}
      === 2014-10-04 15:26:59,714 [ec-8] DEBUG SQLValuesClause - [builtinApplication.briefVorlagen_add] Sequences: {f_id=__default}
      === 2014-10-04 15:26:59,714 [ec-8] DEBUG SQLConnectionManager - [builtinApplication.briefVorlagen_add] Borrowed connection '628464175'
      === 2014-10-04 15:26:59,714 [ec-8] DEBUG SQLTransaction - [builtinApplication.briefVorlagen_add] Started new SQLSERVER transaction "628464175"
      === 2014-10-04 15:26:59,714 [ec-8] DEBUG SQLDriver - [builtinApplication.briefVorlagen_add] About to execute SQL update in 'SQLSERVER' using connection'628464175'
      === 2014-10-04 15:26:59,714 [ec-8] INFO  SQLDriver - [builtinApplication.briefVorlagen_add] Executing SQL update on 'SQLSERVER': INSERT INTO t_brief_vorlagen (f_bilder_gruppe, f_custom, f_dokumente_vorlage, f_email_betreff, f_email_vorlage, f_filename, f_jasper_vorlage, f_name, f_text, f_text_hochgestellt, f_typ, f_user) VALUES (7, NULL, 'abc', 'abc', 'abc', 'abc', 1, 'abc', 'abc', 0, 'BRIEF', 'x')
      === 2014-10-04 15:26:59,715 [ec-8] DEBUG SQLDriver - [builtinApplication.briefVorlagen_add] Found 1 sequence(s)/autoGenerated PK field(s): [f_id]
      === 2014-10-04 15:26:59,716 [ec-8] WARN  SQLDriver - [builtinApplication.briefVorlagen_add] Exception thrown during saveGeneratedKeys()
      java.lang.NullPointerException
      	at com.isomorphic.sql.SQLDriver.saveGeneratedKeys(SQLDriver.java:1316)
      	at com.isomorphic.sql.SQLDriver.doUpdate(SQLDriver.java:885)
      	at com.isomorphic.sql.SQLDriver.update(SQLDriver.java:780)
      	at com.isomorphic.sql.SQLDriver.executeUpdate(SQLDriver.java:961)
      	at com.isomorphic.sql.SQLDataSource.executeNativeUpdate(SQLDataSource.java:575)
      	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1989)
      	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:448)
      	at com.isomorphic.sql.SQLDataSource.executeAdd(SQLDataSource.java:401)
      	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1609)
      	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:723)
      	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
      	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
      	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2535)
      	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:215)
      	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:172)
      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:137)
      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
      	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
      	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
      	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
      	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
      	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
      	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      	at java.lang.Thread.run(Unknown Source)
      === 2014-10-04 15:26:59,717 [ec-8] DEBUG SQLDriver - [builtinApplication.briefVorlagen_add] FAILED to execute SQL update in 'SQLSERVER' using connection'628464175'
      === 2014-10-04 15:26:59,717 [ec-8] WARN  RequestContext - dsRequest.execute() failed: 
      com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert the value NULL into column 'f_id', table 'zedes2.dbo.t_brief_vorlagen'; column does not allow nulls. INSERT fails.
      	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
      	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
      	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
      	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
      	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
      	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
      	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)
      	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
      	at com.isomorphic.sql.SQLDriver.doUpdate(SQLDriver.java:876)
      	at com.isomorphic.sql.SQLDriver.update(SQLDriver.java:780)
      	at com.isomorphic.sql.SQLDriver.executeUpdate(SQLDriver.java:961)
      	at com.isomorphic.sql.SQLDataSource.executeNativeUpdate(SQLDataSource.java:575)
      	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1989)
      	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:448)
      	at com.isomorphic.sql.SQLDataSource.executeAdd(SQLDataSource.java:401)
      	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1609)
      	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:723)
      	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
      	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
      	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2535)
      	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:215)
      	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:172)
      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:137)
      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
      	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
      	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
      	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
      	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at de.mks_infofabrik.zedes2.server.filter.UserInfoSessionInjecterFilter.doFilter(UserInfoSessionInjecterFilter.java:51)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
      	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
      	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
      	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
      	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
      	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      	at java.lang.Thread.run(Unknown Source)
      === 2014-10-04 15:26:59,718 [ec-8] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
      So this is not correct:
      === 2014-10-04 15:26:59,715 [ec-8] DEBUG SQLDriver - [builtinApplication.briefVorlagen_add] Found 1 sequence(s)/autoGenerated PK field(s): [f_id]
      Last edited by edulid; 4 Oct 2014, 05:40.

      Comment


        #4
        On the first problem:

        Does this *always* happen - ie, every time you start Tomcat, you get one DataSource that fails to load? Or does everything work OK sometimes? Do you ever have more than one DataSource fail?

        Also, what is the pattern of your DS loading? Are you loading them all upfront in the client bootstrap with one big "DataSourceLoader" line or multiple smaller ones? Or are you loading them as you need them with DataSource.load() or something? How many DataSources are we talking about here?

        One the second problem:

        Could you please share what DataSourceLoader returns when you try to load just DataSource "briefVorlagen". We are interested in the DS it auto-generates for use in that DataSource's inheritsFrom property

        Comment


          #5
          Originally posted by Isomorphic View Post
          On the first problem:

          Does this *always* happen - ie, every time you start Tomcat, you get one DataSource that fails to load? Or does everything work OK sometimes? Do you ever have more than one DataSource fail?

          Also, what is the pattern of your DS loading? Are you loading them all upfront in the client bootstrap with one big "DataSourceLoader" line or multiple smaller ones? Or are you loading them as you need them with DataSource.load() or something? How many DataSources are we talking about here?
          No, sometimes everything *seems* to work fine, since I cannot see any errors in the logs. But, in one case, as I thought all datasources were loaded correctly (because the application loaded and because of no errors in the logs), the second error happened when trying to add a record to the datasource "briefVorlagen". So something seems to not be correctly loaded.

          I am loading the datasources the "default" way:
          in my start page I have:
          Code:
          <script src="zedes2/sc/DataSourceLoader?dataSource=briefVorlagen,schueler,schuelerDetails"></script>
          This list is long: I have 90 DS-Definitions up to now in the same line.

          Originally posted by Isomorphic View Post
          One the second problem:

          Could you please share what DataSourceLoader returns when you try to load just DataSource "briefVorlagen". We are interested in the DS it auto-generates for use in that DataSource's inheritsFrom property
          I'm not sure where to activate the DataSource's logs, so I activated everything to DEBUG level.
          I was not able to upload the whole log here (1 MB), so this is the part of the log after looking for "briefVorlagen". But I cannot see the generated DS there. Do I have to activate something else?

          Code:
          Requesting: /zedes2/
          Requesting: /zedes2/zedes2V010215/zedes2V010215.nocache.js
          === 2014-10-07 23:11:39,885 [ec-7] DEBUG RequestContext - Paths for request:
          Servlet path: '/zedes2V010215/sc/DataSourceLoader'
          Request URI: '/zedes2/zedes2V010215/sc/DataSourceLoader'
          Path Info: 'null'
          Path Translated: 'null'
          Real FileSystem Path: 'C:\Users\Eduardo\git\zedes2\zedes2\war\zedes2\zedes2V010215\sc\DataSourceLoader'
          === 2014-10-07 23:11:39,888 [ec-7] INFO  RequestContext - URL: '/zedes2/zedes2V010215/sc/DataSourceLoader', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
          === 2014-10-07 23:11:39,890 [ec-7] DEBUG Compression - /zedes2/zedes2V010215/sc/DataSourceLoader: Request looks compressable.
          === 2014-10-07 23:11:39,898 [ec-7] DEBUG ProxyHttpServletResponse - Using charset: UTF-8 (CompressionFilter)
          === 2014-10-07 23:11:39,899 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'briefVorlagen'
          === 2014-10-07 23:11:39,900 [ec-7] DEBUG DataStructCache - getInstanceFile (success): 'briefVorlagen' instance of datasources: 1ms
          === 2014-10-07 23:11:39,903 [ec-7] DEBUG XML - Parsed XML from C:\Users\Eduardo\git\zedes2\zedes2\war\ds\briefVorlagen.ds.xml: 2ms
          === 2014-10-07 23:11:39,903 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSource'
          === 2014-10-07 23:11:39,904 [ec-7] DEBUG DataStructCache - getInstanceFile (success): 'DataSource' instance of datasources: 1ms
          === 2014-10-07 23:11:39,905 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'DataSourceField' instance of datasources: 0ms
          === 2014-10-07 23:11:39,905 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'OperationBinding' instance of datasources: 0ms
          === 2014-10-07 23:11:39,905 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'Object' instance of datasources: 0ms
          === 2014-10-07 23:11:39,905 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'Object' instance of datasources: 0ms
          === 2014-10-07 23:11:39,906 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'DataSourceField' instance of datasources: 0ms
          === 2014-10-07 23:11:39,906 [ec-7] DEBUG BasicDataSource - undefined multipleStorage was set to 'simpleString' for field groups
          === 2014-10-07 23:11:39,906 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'MethodDeclaration' instance of datasources: 0ms
          === 2014-10-07 23:11:39,906 [ec-7] DEBUG BasicDataSource - Validating a 'DataSource' at path ''
          === 2014-10-07 23:11:39,907 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/ID as DataSource.ID type: string
          === 2014-10-07 23:11:39,907 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/autoDeriveSchema as DataSource.autoDeriveSchema type: boolean
          === 2014-10-07 23:11:39,907 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/serverType as DataSource.serverType type: string
          === 2014-10-07 23:11:39,907 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/tableName as DataSource.tableName type: string
          === 2014-10-07 23:11:39,907 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'field'
          === 2014-10-07 23:11:39,908 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'field' instance of datasources: 0ms
          === 2014-10-07 23:11:39,908 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'field' instance of datasources: 0ms
          === 2014-10-07 23:11:39,908 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSourceField'
          === 2014-10-07 23:11:39,908 [ec-7] DEBUG DataStructCache - getInstanceFile (success): 'DataSourceField' instance of datasources: 0ms
          === 2014-10-07 23:11:39,909 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'Validator' instance of datasources: 0ms
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'DataSourceField' instance of datasources: 1ms
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'Object' instance of datasources: 0ms
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/fields as DataSource.fields type: DataSourceField
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG BasicDataSource - Validating 1 'DataSourceField's at path '/DataSource[@ID=briefVorlagen]/fields'
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG BasicDataSource - Validating a 'DataSourceField' at path '/DataSource[@ID=briefVorlagen]/fields/0'
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG DataStructCache - getInstanceFile (failure): 'field' instance of datasources: 0ms
          === 2014-10-07 23:11:39,910 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/fields/0/field[@name=f_text_hochgestellt]/name as DataSourceField.name type: string
          === 2014-10-07 23:11:39,911 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/fields/0/field[@name=f_text_hochgestellt]/sqlStorageStrategy as DataSourceField.sqlStorageStrategy type: string
          === 2014-10-07 23:11:39,911 [ec-7] DEBUG Validation - Validating field:
          /DataSource[@ID=briefVorlagen]/fields/0/field[@name=f_text_hochgestellt]/type as DataSourceField.type type: string
          === 2014-10-07 23:11:39,911 [ec-7] DEBUG BasicDataSource - Done validating 1 'DataSourceField's at path '/DataSource[@ID=briefVorlagen]/fields': 1ms (avg 1)
          === 2014-10-07 23:11:39,911 [ec-7] DEBUG BasicDataSource - Done validating a 'DataSource' at path '': 5ms
          === 2014-10-07 23:11:39,911 [ec-7] DEBUG Timing - DataSource record created from XML with document element: 'DataSource': 8ms
          === 2014-10-07 23:11:39,913 [ec-7] DEBUG InterfaceProvider - Instantiating com.isomorphic.sql.SQLDataSource to satisfy request for an SQLDataSource
          === 2014-10-07 23:11:39,944 [ec-7] INFO  SQLDataSource - Deriving dataSource briefVorlagen from table: t_brief_vorlagen
          === 2014-10-07 23:11:40,041 [ec-7] DEBUG InterfaceProvider - Instantiating com.isomorphic.hibernate.HibernateDataSource to satisfy request for an IHibernateDataSource
          === 2014-10-07 23:11:40,092 [ec-7] INFO  PoolManager - SmartClient pooling started for 'SQLSERVER' objects
          === 2014-10-07 23:11:40,107 [ec-7] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'SQLSERVER' from system config - using DriverManager:  com.microsoft.sqlserver.jdbc.SQLServerDriver
          === 2014-10-07 23:11:40,196 [ec-7] DEBUG PoolableSQLConnectionFactory - com.microsoft.sqlserver.jdbc.SQLServerDriver lookup successful
          === 2014-10-07 23:11:40,196 [ec-7] DEBUG PoolableSQLConnectionFactory - DriverManager fetching connection for SQLSERVER via jdbc url jdbc:sqlserver://localhost;UserName=test;password=test;databaseName=zedes2
          === 2014-10-07 23:11:40,196 [ec-7] DEBUG PoolableSQLConnectionFactory - Passing JDBC URL only to getConnection
          === 2014-10-07 23:11:40,459 [ec-7] DEBUG PoolableSQLConnectionFactory - makeObject() created a pooled Connection '463171395'
          === 2014-10-07 23:11:40,466 [ec-7] DEBUG SQLConnectionManager - Borrowed connection '463171395'
          === 2014-10-07 23:11:40,471 [ec-7] INFO  SQLDSGenerator - Fetching column metadata for table: t_brief_vorlagen
          === 2014-10-07 23:11:40,471 [ec-7] INFO  SQLDSGenerator - =============Using catalog: zedes2
          === 2014-10-07 23:11:41,057 [ec-7] DEBUG Timing - SQLTransform (13 rows): 89ms
          === 2014-10-07 23:11:41,058 [ec-7] INFO  SQLDSGenerator - Fetching column metadata for t_brief_vorlagen complete
          === 2014-10-07 23:11:41,061 [ec-7] DEBUG Timing - SQLTransform (1 rows): 0ms
          === 2014-10-07 23:11:41,063 [ec-7] DEBUG SQLConnectionManager - About to close ISCPoolableConnection with hashcode "463171395"
          === 2014-10-07 23:11:41,063 [ec-7] DEBUG InterfaceProvider - Instantiating com.isomorphic.sql.SQLDataSource to satisfy request for an SQLDataSource
          === 2014-10-07 23:11:41,065 [ec-7] DEBUG DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - For DataSource 'briefVorlagen', got instanceId 73
          === 2014-10-07 23:11:41,088 [ec-7] DEBUG Timing - Time to convert java.util.HashMap to JS Object: 0ms
          === 2014-10-07 23:11:41,089 [ec-7] DEBUG Timing - Time to convert java.util.HashMap to JS Object: 6ms
          === 2014-10-07 23:11:41,089 [ec-7] DEBUG Timing - Time to convert com.isomorphic.sql.SQLDataSource to JS Object: 10ms
          === 2014-10-07 23:11:41,089 [ec-7] DEBUG Compression - /zedes2/zedes2V010215/sc/DataSourceLoader: Using upstream-specified mime type: application/json;charset=UTF-8 (container-derived mime type was: null)
          === 2014-10-07 23:11:41,092 [ec-7] INFO  Compression - /zedes2/zedes2V010215/sc/DataSourceLoader: 3166 -> 880 bytes
          Last edited by edulid; 7 Oct 2014, 13:37.

          Comment


            #6
            OK, thanks for the further info on DataSource loading. We don't see a general problem in this area - none of our automated tests fail to load DataSources, and we don't have any other customers reporting the same problem. It also seems unlikely that simply loading lots of DataSources would introduce a problem - since they are all part of the same DataSourceLoader call they will be loaded sequentially, so it is immaterial whether you are loading 90 or 900. We will try some loading experiments specifically with SQL Server to see if we can reproduce the problem.

            On the other issue - we didn't actually mean the logs, we meant the response to the DataSourceLoader call, the JSON text that is sent over the wire from the server to the client. But in fact, we can see what the problem is without this. The code that derives schema from database metadata is fairly simple when it comes to key derivation: if it finds a column of integer type that is marked as a table's primary key, it assumes it is a sequence (an identity column in SQL Server terminology).

            There are more sophisiticated things we could do to make sure we only mark fields as sequences if they actually are sequences, but right now there is no ETA for that. You could sponsor such enhancement if it's important to you. Alternatively, the fix for this right now is to override the auto-derived field in your .ds.xml file:
            Code:
              <field name="f_id" type="integer" />

            Comment


              #7
              Originally posted by Isomorphic View Post
              The code that derives schema from database metadata is fairly simple when it comes to key derivation: if it finds a column of integer type that is marked as a table's primary key, it assumes it is a sequence (an identity column in SQL Server terminology).
              There are more sophisiticated things we could do to make sure we only mark fields as sequences if they actually are sequences, but right now there is no ETA for that.
              Ok, I changed my datasource definitions for this. You should please document this issue somewhere, since there is no immediate error upon loading the datasources: only when you actually want to add a record to the table you will get an error. And this issue is not documented anywhere as far as I know.


              Originally posted by Isomorphic View Post
              OK, thanks for the further info on DataSource loading. We don't see a general problem in this area - none of our automated tests fail to load DataSources, and we don't have any other customers reporting the same problem. It also seems unlikely that simply loading lots of DataSources would introduce a problem - since they are all part of the same DataSourceLoader call they will be loaded sequentially, so it is immaterial whether you are loading 90 or 900. We will try some loading experiments specifically with SQL Server to see if we can reproduce the problem.
              It would not be the first time that we observe an issue specific to MSSQL and that no other customer is reporting: (http://forums.smartclient.com/showpo...6&postcount=17).
              I continued testing, and I upgraded SmartGWT to the newest nightly:
              v9.1p_2014-10-09/PowerEdition Deployment (built 2014-10-09).
              But the issue is still happening: I always get the same error, but with different datasources. And sometimes everything works fine and there is no error. For example, today I had the following error on the datasource "schueler". The application did not load (I only saw a white screen). After pressing F5, the application loaded correctly! And I explicitely opened a listGrid using the datasource "schueler", which was not loaded correctly before pressing F5, and it showed the records correctly, so it was loaded correctly now.
              Please note that I started observing this behavior only after I changed most of my datasources to autoDeriveSchema="true".

              Code:
              === 2014-10-10 02:12:59,880 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'schueler'
              === 2014-10-10 02:12:59,893 [ec-5] DEBUG XML - Parsed XML from C:\Users\Eduardo\git\zedes2\zedes2\war\ds\schueler.ds.xml: 12ms
              === 2014-10-10 02:12:59,893 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSource'
              === 2014-10-10 02:12:59,897 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'DataSourceField'
              === 2014-10-10 02:12:59,901 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'field'
              === 2014-10-10 02:12:59,910 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'ValueMap'
              === 2014-10-10 02:12:59,962 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'OperationBinding'
              === 2014-10-10 02:12:59,964 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'operationBinding'
              === 2014-10-10 02:12:59,965 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'ServerObject'
              === 2014-10-10 02:12:59,967 [ec-5] DEBUG ISCKeyedObjectPool - Borrowing object for 'serverObject'
              === 2014-10-10 02:12:59,969 [ec-5] INFO  SQLDataSource - Deriving dataSource schueler from table: t_schueler
              === 2014-10-10 02:12:59,969 [ec-5] DEBUG SQLConnectionManager - Borrowed connection '1975680626'
              === 2014-10-10 02:12:59,970 [ec-5] INFO  SQLDSGenerator - Fetching column metadata for table: t_schueler
              === 2014-10-10 02:12:59,970 [ec-5] INFO  SQLDSGenerator - =============Using catalog: zedes2
              === 2014-10-10 02:13:00,029 [ec-5] INFO  SQLDSGenerator - Fetching column metadata for t_schueler complete
              === 2014-10-10 02:13:00,030 [ec-5] INFO  PoolableSQLConnectionFactory - No explicit configuration for db: derivedFromConnection in server.properties - will look for a Connection object at derivedFromConnection or java:comp/env/derivedFromConnection.
              === 2014-10-10 02:13:00,030 [ec-5] INFO  PoolManager - SmartClient pooling disabled for 'derivedFromConnection' objects
              === 2014-10-10 02:13:00,030 [ec-5] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
              === 2014-10-10 02:13:00,034 [ec-5] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
              === 2014-10-10 02:13:00,036 [ec-5] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
              === 2014-10-10 02:13:00,037 [ec-5] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
              === 2014-10-10 02:13:00,039 [ec-5] ERROR SQLDSGenerator - Unable to load foreign key information for autoDeriveFK logic.
              java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
              	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
              	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
              	at com.isomorphic.sql.SQLMetaData.getForeignKeys(SQLMetaData.java:334)
              	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:363)
              	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
              	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
              	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
              	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
              	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
              	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
              	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
              	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
              	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
              	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
              	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
              	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
              	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
              	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
              	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
              	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
              	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
              	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
              	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
              	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
              	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
              	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
              	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
              	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
              	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
              	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
              	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
              	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
              	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
              	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
              	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
              	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
              	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
              	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
              	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
              	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              	at java.lang.Thread.run(Unknown Source)
              === 2014-10-10 02:13:00,041 [ec-5] DEBUG PoolableSQLConnectionFactory - Initializing SQL config for 'derivedFromConnection' via JNDI
              === 2014-10-10 02:13:00,041 [ec-5] DEBUG JNDI - No configuration for JNDI context '' - assuming default initialContext
              === 2014-10-10 02:13:00,042 [ec-5] DEBUG JNDI - No configuration for JNDI context '_container_' - assuming default initialContext
              === 2014-10-10 02:13:00,042 [ec-5] DEBUG JNDI - Detected container context, using new InitialContext(env) lookup method
              === 2014-10-10 02:13:00,042 [ec-5] DEBUG SQLConnectionManager - Connection 1975680626 was already closed when we came to free it
              === 2014-10-10 02:13:00,042 [ec-5] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Exception while attempting to load a DataSource
              java.sql.SQLException: java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
              	at com.isomorphic.sql.SQLMetaData.conn(SQLMetaData.java:113)
              	at com.isomorphic.sql.SQLMetaData.getMetaData(SQLMetaData.java:132)
              	at com.isomorphic.sql.SQLMetaData.getPrimaryKeys(SQLMetaData.java:326)
              	at com.isomorphic.sql.SQLDSGenerator.getFieldsFromTable(SQLDSGenerator.java:389)
              	at com.isomorphic.sql.SQLDSGenerator.generate(SQLDSGenerator.java:176)
              	at com.isomorphic.sql.SQLDataSource.getConfigFromTable(SQLDataSource.java:3822)
              	at com.isomorphic.sql.SQLDataSource.fromTable(SQLDataSource.java:3771)
              	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:250)
              	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:528)
              	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:177)
              	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:513)
              	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:272)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:264)
              	at com.isomorphic.datasource.DataSource.forName(DataSource.java:253)
              	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:135)
              	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:151)
              	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:964)
              	at com.isomorphic.pool.ISCKeyedObjectPool.borrowObject(ISCKeyedObjectPool.java:106)
              	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:84)
              	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:135)
              	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:86)
              	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:157)
              	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
              	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
              	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
              	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
              	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
              	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
              	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
              	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
              	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
              	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
              	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
              	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
              	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
              	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
              	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
              	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
              	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
              	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
              	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
              	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              	at java.lang.Thread.run(Unknown Source)
              === 2014-10-10 02:13:00,044 [ec-5] ERROR DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - Top-level servlet error: 
              javax.servlet.ServletException: DataSource 'schueler' failed to load due to an exception on the server:
              java.sql.SQLException: javax.naming.NameNotFoundException: Name [derivedFromConnection] is not bound in this Context. Unable to find [derivedFromConnection].
              See the server-side log for additional details.
              	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:249)
              	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:100)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
              	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
              	at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
              	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
              	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
              	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
              	at de.mks_infofabrik.zedes2.server.filter.GWTCacheControlFilter.doFilter(GWTCacheControlFilter.java:50)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
              	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
              	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
              	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
              	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
              	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
              	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
              	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
              	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
              	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
              	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
              	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
              	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
              	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
              	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
              	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
              	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
              	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
              	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              	at java.lang.Thread.run(Unknown Source)
              === 2014-10-10 02:13:00,053 [ec-5] INFO  Compression - /zedes2/zedes2V01021501/sc/DataSourceLoader: 42689 -> 6094 bytes
              Requesting: /zedes2/
              Requesting: /zedes2/zedes2V01021501/zedes2V01021501.nocache.js
              === 2014-10-10 02:13:34,420 [ec-2] INFO  Download - Returning 304: Not modified on conditional get of: C:\Users\Eduardo\git\zedes2\zedes2\war\zedes2V01021501\sc\skins\EnterpriseBlue\load_skin.js
              === 2014-10-10 02:13:34,548 [ec-7] INFO  RequestContext - URL: '/zedes2/zedes2V01021501/sc/DataSourceLoader', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
              === 2014-10-10 02:13:34,548 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'schuelerSimple'
              === 2014-10-10 02:13:34,548 [ec-7] DEBUG DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - For DataSource 'schuelerSimple', got instanceId 75
              === 2014-10-10 02:13:34,565 [ec-7] DEBUG ISCKeyedObjectPool - Borrowing object for 'schuelerDetails'
              === 2014-10-10 02:13:34,566 [ec-7] DEBUG DataSourceLoader - Key[type=com.isomorphic.servlet.DataSourceLoader, annotation=[none]] - For DataSource 'schuelerDetails', got instanceId 82

              Comment


                #8
                Maybe it is important: I am using jdk1.7.0_67 64 Bit.

                Comment


                  #9
                  Have you been able to reproduce this issue ?

                  I switched all my datasources to NOT use autoDeriveSchema again, and there is no exceptions. But I need this feature. I will revert them again when this issue is solved.

                  Comment


                    #10
                    We still don't see this issue in specific SQL Server tests loading lots of autoDeriveSchema=true DataSources. Is it possible to send us the .ds.xml files and the SQL Server schema from which you are attempting to autoDerive? We don't need the data, just the tables and constraints, and the .ds.xml files.

                    Comment


                      #11
                      When I got some time I will take a look at this issue again. For now, all my datasources are NOT autoDeriveSchema.

                      Comment


                        #12
                        Originally posted by edulid View Post
                        When I got some time I will take a look at this issue again. For now, all my datasources are NOT autoDeriveSchema.
                        I'm having the same problem. Did you find a resolution?

                        Comment


                          #13
                          Originally posted by michaeljseo View Post
                          I'm having the same problem. Did you find a resolution?
                          No, all my datasources are NOT autoDeriveSchema. I will try this with 5.0 when I have time.

                          Comment


                            #14
                            Originally posted by edulid View Post
                            No, all my datasources are NOT autoDeriveSchema. I will try this with 5.0 when I have time.
                            Ah. When you switched OFF autoDeriveSchema, then you no longer had this problem?

                            BTW, I'm using 5.0

                            Comment


                              #15
                              Yes, with autoDeriveSchema turned off, the problem is gone. I haven't been able to create a testcase, because it seems not deterministic... how is your case?

                              Comment

                              Working...
                              X