[
https://issues.jboss.org/browse/TEIID-1451?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-1451:
---------------------------------------
What was the connection string? It is also possible for the client to throw an exception
in the prior to failing over if the failure occurs mid query.
Teiid does not handle failover correclty
----------------------------------------
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
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:
http://www.atlassian.com/software/jira