[
https://issues.jboss.org/browse/TEIID-1451?page=com.atlassian.jira.plugin...
]
Boris Belovic commented on TEIID-1451:
--------------------------------------
Hello Steven,
what were the fixes you made? I tried to repeat my experiment with new ER9 bits (should
contain your changes), the client show better behaviour. Now it does not fail and
continues in retrieving data from VDB. So I guess it reconnects to an active node.
Although, there is still this message in the server log:
Processing exception 'The specified session ID "+0ombDj6Lu1q" is invalid. It
cannot be found in the userbase.' for session null.
I tried this two times and during both tries I killed each node two times.
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:
http://www.atlassian.com/software/jira