[teiid-issues] [JBoss JIRA] Commented: (TEIID-876) Server Times Out Session Despite Configuration

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Tue Dec 1 13:54:29 EST 2009


    [ https://jira.jboss.org/jira/browse/TEIID-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12497551#action_12497551 ] 

Steven Hawkins commented on TEIID-876:
--------------------------------------

The logoff method did not throw a component exception, which was causing the SocketException to be converted to a runtime exception.  This would stop the timer and cause problems for all subsequent connections.  I've updated that method, but this fix does not address why the socket was closed in the first place.  Will leave open a while longer to investigate more.

> Server Times Out Session Despite Configuration
> ----------------------------------------------
>
>                 Key: TEIID-876
>                 URL: https://jira.jboss.org/jira/browse/TEIID-876
>             Project: Teiid
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 6.2.0
>         Environment: Solaris 10
>            Reporter: Nestor D. Rodriguez
>            Assignee: Steven Hawkins
>             Fix For: 7.0
>
>
> I have a Teiid server set up on a Solaris 10 machine. The deploy.properties file has the session.expirationTimeInMilli property commented out to avoid any sessions timing out.
> Nevertheless, when connecting to the server using the adminshell tool, I inevitable get the following error in the tool after five or so minutes:
> Exception in thread "SocketPing" java.net.SocketException: Socket closedjava.net.SocketException: Socket closedjava.net.SocketException: Socket closedSocket closed
>         at com.metamatrix.client.ExceptionUtil.convertException(ExceptionUtil.java: 75)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerInstanceImpl$RemoteInvocationHandler.invoke(SocketServerInstanceImpl.java:342)
>         at $Proxy0.logoff(Unknown Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection$ServerConnectionInvocationHandler.invoke(SocketServerConnection.java:218)
>         at $Proxy0.logoff(Unknown Source)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection.shutdown(SocketServerConnection.java:258)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection.shutdown(SocketServerConnection.java:248)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection$1.run(SocketServerConnection.java:113)
>         at java.util.TimerThread.mainLoop(Timer.java:512)
>         at java.util.TimerThread.run(Timer.java:462)
> Caused by: com.metamatrix.common.comm.exception.SingleInstanceCommunicationException: java.net.SocketException: Socket closed
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:179)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerInstanceImpl$RemoteInvocationHandler.invoke(SocketServerInstanceImpl.java:330)
>         ... 12 more
> Caused by: java.util.concurrent.ExecutionException: java.net.SocketException: Socket closed
>         at com.metamatrix.dqp.client.ResultsFuture.convertResult(ResultsFuture.java:94)
>         at com.metamatrix.dqp.client.ResultsFuture.get(ResultsFuture.java:89)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:176)
>         ... 13 more
> Caused by: java.net.SocketException: Socket closed
>         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
>         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>         at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
>         at java.io.DataOutputStream.flush(DataOutputStream.java:106)
>         at org.teiid.netty.handler.codec.serialization.ObjectEncoderOutputStream.flush(ObjectEncoderOutputStream.java:71)
>         at com.metamatrix.common.comm.platform.socket.client.OioOjbectChannelFactory$OioObjectChannel.write(OioOjbectChannelFactory.java:142)
>         at com.metamatrix.common.comm.platform.socket.client.SocketServerInstanceImpl.send(SocketServerInstanceImpl.java:175)
>         ... 13 more
> Once this happens, the connection is closed and any attempt to re-connect gives me the message "Failed to connect: (Timer already connected.)"
> I don't know if it's relevant, but I've also noted that when I run my test JDBC query program, I get my results back, but this message shows up in the teiid.log file:
> java.io.IOException: Connection reset by peer
>         at sun.nio.ch.FileDispatcher.read0(Natve Method)
>         at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
>         at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
>         at sun.nio.ch.IOUtil.read(IOUtil.java:206)
>         at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
>         at org.jboss.netty.buffer.HeapChannelBuffer.setBytes(HeapChannelBuffer.java:163)
>         at org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:429)
>         at org.jboss.netty.channel.socket.nio.NioWorker.readIntoHeapBuffer(NioWorker.java:282)
>         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 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         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