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)