[teiid-issues] [JBoss JIRA] Resolved: (TEIID-734) Exception while closing the JDBC Connection to the Teiid Runtime

Ramesh Reddy (JIRA) jira-events at lists.jboss.org
Thu Jul 23 16:59:42 EDT 2009


     [ https://jira.jboss.org/jira/browse/TEIID-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ramesh Reddy resolved TEIID-734.
--------------------------------

    Resolution: Done


This exception was happening for two reasons. One Channel handler was throwing a exception when the channel is closed, even when the client requested it.

Also, the ILogon.ping method was being used with dual purpose. 

1) ping for the session instance 
2) ping for the server instance, if there is spare server socket instance avaialble to use by the next connection in the same JVM, if the first connection has been closed and released the server socket instance to the pool.

In the (2) the ping was inadvertently using the cached session id, thus throwing a exception, and making the cached instance un-usable. Now, LogonImpl correctly removes the cached session id when the session logs off, and then if a ping calls comes thorough without the session id, then it treats that call as server instance ping.

> Exception while closing the JDBC Connection to the Teiid Runtime
> ----------------------------------------------------------------
>
>                 Key: TEIID-734
>                 URL: https://jira.jboss.org/jira/browse/TEIID-734
>             Project: Teiid
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 6.1.0
>            Reporter: Ramesh Reddy
>            Assignee: Ramesh Reddy
>             Fix For: 6.2.0
>
>
> 2009-07-21 16:09:00,250 DEBUG [Worker1_SocketWorker24] org.teiid.Server -  message: MessageHolder: contents=null for request ID:4
> 2009-07-21 16:10:38,991 DEBUG [New I/O server worker #1-2] org.teiid.Server - processing message:MessageHolder: contents=com.metamatrix.common.comm.platform.socket.client.ServiceInvocationStruct at 1104da7
> 2009-07-21 16:10:38,991 DEBUG [Worker1_SocketWorker25] org.teiid.RESOURCE_POOLING - Beginning work with virtual worker Worker1_SocketWorker25
> 2009-07-21 16:10:38,991 DEBUG [Worker1_SocketWorker25] org.teiid.SESSION - closeSession 3
> 2009-07-21 16:10:38,992 DEBUG [Worker1_SocketWorker25] org.teiid.BUFFER_MGR - Removing TupleSources for group 3
> 2009-07-21 16:10:38,992 DEBUG [Worker1_SocketWorker25] org.teiid.TXN_LOG - before cancelTransactions:com.metamatrix.dqp.embedded.services.EmbeddedTransactionService at 15d8d75(3,false)
> 2009-07-21 16:10:38,992 DEBUG [Worker1_SocketWorker25] org.teiid.TXN_LOG - after cancelTransactions : null
> 2009-07-21 16:10:38,993 DEBUG [Worker1_SocketWorker25] org.teiid.Server -  message: MessageHolder: contents=null for request ID:5
> 2009-07-21 16:10:39,170 DEBUG [New I/O server worker #1-2] org.teiid.Server - Unhandled exception, closing client instance
> com.metamatrix.common.comm.exception.SingleInstanceCommunicationException: Channel closed
> 	at org.teiid.transport.SSLAwareChannelHandler.channelDisconnected(SSLAwareChannelHandler.java:219)
> 	at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:130)
> 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:401)
> 	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:624)
> 	at org.jboss.netty.handler.codec.frame.FrameDecoder.cleanup(FrameDecoder.java:268)
> 	at org.jboss.netty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:182)
> 	at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:130)
> 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:401)
> 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:396)
> 	at org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:366)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:726)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:371)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.readIntoHeapBuffer(NioWorker.java:304)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:254)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:163)
> 	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:78)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)

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

        


More information about the teiid-issues mailing list