[
https://issues.jboss.org/browse/TEIID-1588?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-1588:
---------------------------------------
I don't follow what this is showing.
1. Query data from cluster, data retrieved without any problems.
So the Teiid driver is connected to your proxy, which is forwarding requests to the
cluster, correct? Is the Teiid driver connecting to a single host/port that represents
your proxy?
2. Then, on the proxy I tried to turn off (block access to) each node
of a cluster.
What does this mean? Is the connection from client to proxy still valid? Are you
shutting off access to only a single member at a time? How are you expecting the driver
to react?
> Failover does not work correctly when server nodes are behind proxy
> -------------------------------------------------------------------
>
> Key: TEIID-1588
> URL:
https://issues.jboss.org/browse/TEIID-1588
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.1.1
> Environment: Fedora 14, JDK1.6
> Reporter: Boris Belovic
> Assignee: Steven Hawkins
> Attachments: proxy.tar.bz2, TeiidClusteringTest.java
>
>
> I wrote simple proxy which simply send data from one port to another. I've put 2
node cluster behind this proxy.
> Proxy works like this: Client connects to the interface of a proxy and then proxy
send all data to cluster. When I stop the proxy, the proxy stops sending data from client
to server - this is used as a simulation of cluster node failure.
> Then I ran this scenario:
1. Query data from cluster, data retrieved without any problems.
2. Then, on the proxy I tried to turn off (block access to) each node
of a cluster.
> When I stop the proxy I've got following exception:
> May 16, 2011 1:50:04 PM org.teiid.jdbc.StatementImpl executeSql
> [testng] WARNING: Error trying to execute a statement SELECT name, CLUSTER_NAME
FROM ClusterTable OPTION NOCACHE.
> [testng] org.teiid.jdbc.TeiidSQLException: [SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:109)
> [testng] at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:69)
> [testng] at
org.teiid.jdbc.StatementImpl.sendRequestMessageAndWait(StatementImpl.java:917)
> [testng] at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:479)
> [testng] at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:324)
> [testng] at
org.jboss.soa.clustering.teiid.TeiidClusteringTest.select(TeiidClusteringTest.java:141)
> [testng] at
org.jboss.soa.clustering.teiid.TeiidClusteringTest.testFailover(TeiidClusteringTest.java:72)
> [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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:641)
> [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:677)
> [testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:850)
> [testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1154)
> [testng] at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
> [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
> [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:1108)
> [testng] at org.testng.TestRunner.privateRun(TestRunner.java:737)
> [testng] at org.testng.TestRunner.run(TestRunner.java:596)
> [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:315)
> [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:310)
> [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:272)
> [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:221)
> [testng] at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> [testng] at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> [testng] at org.testng.TestNG.runSuitesSequentially(TestNG.java:1027)
> [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
> [testng] at org.testng.TestNG.run(TestNG.java:896)
> [testng] at org.testng.TestNG.privateMain(TestNG.java:1193)
> [testng] at org.testng.TestNG.main(TestNG.java:1153)
> [testng] Caused by: java.util.concurrent.ExecutionException:
[SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at
org.teiid.client.util.ResultsFuture.convertResult(ResultsFuture.java:100)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.convertResult(SocketServerInstanceImpl.java:317)
> [testng] at org.teiid.client.util.ResultsFuture.get(ResultsFuture.java:116)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:348)
> [testng] at
org.teiid.jdbc.StatementImpl.sendRequestMessageAndWait(StatementImpl.java:915)
> [testng] ... 28 more
> [testng] Caused by: [SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.exceptionOccurred(SocketServerInstanceImpl.java:199)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:257)
> [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.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:107)
> [testng] at $Proxy12.read(Unknown Source)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:347)
> [testng] ... 29 more
> [testng] Caused by: java.io.EOFException
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.fillBuffer(ObjectDecoderInputStream.java:166)
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.findLength(ObjectDecoderInputStream.java:147)
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.readObjectOverride(ObjectDecoderInputStream.java:81)
> [testng] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)
> [testng] at
org.teiid.net.socket.OioOjbectChannelFactory$OioObjectChannel.read(OioOjbectChannelFactory.java:114)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:253)
> [testng] ... 36 more
> [testng] org.teiid.jdbc.TeiidSQLException: Error trying to execute a statement
SELECT name, CLUSTER_NAME FROM ClusterTable OPTION NOCACHE.
> [testng] at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:102)
> [testng] at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:483)
> [testng] at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:324)
> [testng] at
org.jboss.soa.clustering.teiid.TeiidClusteringTest.select(TeiidClusteringTest.java:141)
> [testng] at
org.jboss.soa.clustering.teiid.TeiidClusteringTest.testFailover(TeiidClusteringTest.java:72)
> [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.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:641)
> [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:677)
> [testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:850)
> [testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1154)
> [testng] at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
> [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
> [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:1108)
> [testng] at org.testng.TestRunner.privateRun(TestRunner.java:737)
> [testng] at org.testng.TestRunner.run(TestRunner.java:596)
> [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:315)
> [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:310)
> [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:272)
> [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:221)
> [testng] at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> [testng] at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> [testng] at org.testng.TestNG.runSuitesSequentially(TestNG.java:1027)
> [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
> [testng] at org.testng.TestNG.run(TestNG.java:896)
> [testng] at org.testng.TestNG.privateMain(TestNG.java:1193)
> [testng] at org.testng.TestNG.main(TestNG.java:1153)
> [testng] Caused by: org.teiid.jdbc.TeiidSQLException:
[SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:109)
> [testng] at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:69)
> [testng] at
org.teiid.jdbc.StatementImpl.sendRequestMessageAndWait(StatementImpl.java:917)
> [testng] at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:479)
> [testng] ... 27 more
> [testng] Caused by: java.util.concurrent.ExecutionException:
[SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at
org.teiid.client.util.ResultsFuture.convertResult(ResultsFuture.java:100)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.convertResult(SocketServerInstanceImpl.java:317)
> [testng] at org.teiid.client.util.ResultsFuture.get(ResultsFuture.java:116)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:348)
> [testng] at
org.teiid.jdbc.StatementImpl.sendRequestMessageAndWait(StatementImpl.java:915)
> [testng] ... 28 more
> [testng] Caused by: [SingleInstanceCommunicationException]
> [testng] 1 [EOFException]
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.exceptionOccurred(SocketServerInstanceImpl.java:199)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:257)
> [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.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:107)
> [testng] at $Proxy12.read(Unknown Source)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:347)
> [testng] ... 29 more
> [testng] Caused by: java.io.EOFException
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.fillBuffer(ObjectDecoderInputStream.java:166)
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.findLength(ObjectDecoderInputStream.java:147)
> [testng] at
org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.readObjectOverride(ObjectDecoderInputStream.java:81)
> [testng] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:344)
> [testng] at
org.teiid.net.socket.OioOjbectChannelFactory$OioObjectChannel.read(OioOjbectChannelFactory.java:114)
> [testng] at
org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:253)
> [testng] ... 36 more
> [testng] @@ Message: Error trying to execute a statement SELECT name, CLUSTER_NAME
FROM ClusterTable OPTION NOCACHE.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira