Announcement

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

    SmartClient 8.3d - not closed connections on JBoss 4.2.3

    When using Smartclient 8.3d Power Edition with JBoss 4.2.3.GA (on Linux), I'm getting exception about not closed connection after finished fetch call to sql datasource.

    This may be JBoss version specific issue. Exception is handled properly by JBoss and application works as expected so this is not a big issue, but maybe something can be done to fix this.

    When isomorphic_sql.jar is replaced with version 8.2, exception is not thrown.


    lib versions:
    commons-pool: 1.4
    commons-dbcp: 1.2.2
    isomorphic_sql: 8.3d_2012-10-10, but also previous (8.3d) versions


    Stacktrace:

    Code:
    2012-10-10 14:49:37,123 INFO  [STDOUT] === 2012-10-10 14:49:37,123 [0.0-8080-2] DEBUG com.isomorphic.rpc.RPCManager - Processing 1 requests.
    2012-10-10 14:49:37,178 INFO  [STDOUT] === 2012-10-10 14:49:37,178 [0.0-8080-2] DEBUG com.isomorphic.rpc.RPCManager - Request #1 (DSRequest) payload: {
        criteria:{
        },
        operationConfig:{
            dataSource:"importStatusesDS",
            operationType:"fetch"
        },
        componentId:"(cacheAllData fetch)",
        appID:"builtinApplication",
        operation:"importStatusesDS_fetch",
        oldValues:null
    }
    2012-10-10 14:49:37,297 INFO  [STDOUT] === 2012-10-10 14:49:37,297 [0.0-8080-2] INFO  com.isomorphic.sql.SQLDataSource - [builtinApplication.importStatusesDS_fetch] Performing fetch operation with
    	criteria: {}	values: {}
    2012-10-10 14:49:37,358 INFO  [STDOUT] === 2012-10-10 14:49:37,357 [0.0-8080-2] INFO  com.isomorphic.sql.SQLDataSource - [builtinApplication.importStatusesDS_fetch] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    2012-10-10 14:49:38,388 INFO  [STDOUT] === 2012-10-10 14:49:38,387 [0.0-8080-2] INFO  com.isomorphic.sql.SQLDataSource - [builtinApplication.importStatusesDS_fetch] Executing SQL query on 'DH_FILES': SELECT file_statuses.background_color AS backgroundColor, file_statuses.status, file_statuses.text_color AS textColor FROM file_statuses WHERE ('1'='1')
    2012-10-10 14:49:38,514 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] internalRegisterPool: registering pool with interval 900000 old interval: 9223372036854775807
    2012-10-10 14:49:38,514 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] internalRegisterPool: about to notify thread: old next: 1349873828514, new next: 1349873828514
    2012-10-10 14:49:43,167 INFO  [STDOUT] === 2012-10-10 14:49:43,166 [0.0-8080-2] DEBUG com.isomorphic.rpc.RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
    2012-10-10 14:49:43,180 INFO  [STDOUT] === 2012-10-10 14:49:43,179 [0.0-8080-2] DEBUG com.isomorphic.rpc.RPCManager - non-DMI response, dropExtraFields: false
    2012-10-10 14:49:43,224 INFO  [org.jboss.resource.connectionmanager.CachedConnectionManager] Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@eb1f9a
    java.lang.Throwable: STACKTRACE
    	at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:290)
    	at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:423)
    	at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:849)
    	at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
    	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeUnpooledObject(PoolableSQLConnectionFactory.java:288)
    	at com.isomorphic.sql.PoolableSQLConnectionFactory.makeObject(PoolableSQLConnectionFactory.java:344)
    	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:85)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:69)
    	at com.isomorphic.sql.SQLConnectionManager.getConnection(SQLConnectionManager.java:156)
    	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:523)
    	at com.isomorphic.sql.SQLDriver.executeQuery(SQLDriver.java:848)
    	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:407)
    	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:401)
    	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1381)
    	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:306)
    	at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:250)
    	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1368)
    	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:726)
    	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:2011)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:216)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    	at java.lang.Thread.run(Thread.java:662)

    #2
    Same, Isomorphic, please reply

    I have exactly the same on JBoss 4.2.3 on Windows. Obviously the datasource is not closed when the servlet returns. Can somebody from Isomorphic please tell how to fix this, or a work-around e.g overriding SQLDataSource and closing the connection?

    SmartClient Version: v8.3p_2012-11-26/EVAL

    Comment


      #3
      We don't have a way to reproduce this, and it's likely to be a bug in either JBoss or one of the libs mentioned, not in our software, and the result is a harmless warning from JBoss. So we don't plan to investigate at this time.

      Comment

      Working...
      X