[
https://jira.jboss.org/jira/browse/TEIID-876?page=com.atlassian.jira.plug...
]
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