]
Steven Hawkins commented on TEIID-1451:
---------------------------------------
That message is expected. When a client fails over it will try to reestablish its last
known session on that server. If the server has been restarted it will have no knowledge
of that old session.
Teiid does not handle failover correctly
----------------------------------------
Key: TEIID-1451
URL:
https://issues.jboss.org/browse/TEIID-1451
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 7.1
Environment: soaperf07 machine -
soaperf07.mw.lab.eng.bos.redhat.com
JDK 1.6
RHEL 5
Reporter: Boris Belovic
Assignee: Steven Hawkins
Fix For: 7.1.1, 7.3
Attachments: logs.tar.bz2, TeiidClusteringTest.java, test.log
I tried to simulate failover with Teiid. I have two SOA-P (ER7 build) nodes. When I
killed first node, client correctly switched to second node. Then I re-started first node
and killed second node. Client failed with the exception and did not switch back to first
node.
Client was very simple - querying VDB in infinite loop and printing result to stdout.
What I did was:
1) I started both nodes, the started a client
2) Killed node no.1 with 'CTRL+Z' and 'kill -9 %1'
3) Client switched to node2
4) Re-started node no.1
5)Killed node no2 with 'CTRL+Z' and 'kill -9 %1'
6)Client failed with exception:
1 [InvalidSessionException]The specified session ID "null" is invalid. It
cannot be found in the userbase.
[testng] at
org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:66)
[testng] at
org.teiid.jboss.deployers.RuntimeEngineDeployer$2.invoke(RuntimeEngineDeployer.java:309)
[testng] at $Proxy294.executeRequest(Unknown Source)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:597)
[testng] at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:81)
[testng] at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
[testng] at
org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:160)
[testng] at
org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:149)
[testng] at
org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:210)
[testng] at
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
[testng] at
org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
[testng] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
[testng] at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
[testng] at
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
[testng] at
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
[testng] at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
[testng] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
[testng] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[testng] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[testng] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
[testng] at
org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
[testng] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
[testng] at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[testng] at
org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
[testng] at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[testng] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[testng] at java.lang.Thread.run(Thread.java:619)
[testng] Caused by: [InvalidSessionException]The specified session ID "null"
is invalid. It cannot be found in the userbase.
[testng] at
org.teiid.services.SessionServiceImpl.getSessionInfo(SessionServiceImpl.java:307)
[testng] at
org.teiid.services.SessionServiceImpl.validateSession(SessionServiceImpl.java:300)
[testng] at
org.teiid.jboss.deployers.RuntimeEngineDeployer$2.invoke(RuntimeEngineDeployer.java:302)
[testng] ... 33 more
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: