[
https://issues.jboss.org/browse/TEIID-5014?page=com.atlassian.jira.plugin...
]
Brian M commented on TEIID-5014:
--------------------------------
Hi Ramesh! Thank you so much for your fast reply. Looking through the node postgres module
source code on the client, I have not yet found code that would send a terminate
connection command. Taking your advice on to turn on debug on the server side, below is
the abbreviated stack trace that looks interesting. It appears that an exception is being
thrown, even though it has a different worker number. It also looks like the query
executed properly and retrieved data.
Can you shine any light on the stack trace or how we might find what threw the exception?
...
2017-08-01 14:29:47,487 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461106) [RequestWorkItem.sendResultsIfNeeded] requestID:
EetkP/08Ci90.9 resultsID: 969321 done: true
2017-08-01 14:29:47,487 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461106) [RequestWorkItem.sendResultsIfNeeded] requestID:
EetkP/08Ci90.9 resultsID: 969321 done: true
2017-08-01 14:29:47,487 FINE \[org.teiid.jdbc\] (Worker556_QueryProcessorQueue2461106)
Successfully executed a query SELECT * FROM RECORDS WHERE RECORD_CLASS = $1 and obtained
results
2017-08-01 14:29:47,487 FINE \[org.teiid.jdbc\] (Worker556_QueryProcessorQueue2461106)
Successfully executed a query SELECT * FROM RECORDS WHERE RECORD_CLASS = $1 and obtained
results
2017-08-01 14:29:47,492 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #19) Channel closed
2017-08-01 14:29:47,492 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #19) Channel closed
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) closeQuery for
requestID=EetkP/08Ci90.9
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) closeQuery for
requestID=EetkP/08Ci90.9
2017-08-01 14:29:47,492 FINE \[org.teiid.jdbc\] (New I/O worker #19) Statement closed
successfully.
2017-08-01 14:29:47,492 FINE \[org.teiid.jdbc\] (New I/O worker #19) Statement closed
successfully.
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461107) Request Thread EetkP/08Ci90.9 with state
PROCESSING
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461107) Request Thread EetkP/08Ci90.9 with state
PROCESSING
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) cancelQuery for
requestID=EetkP/08Ci90.9
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461107) Removing tuplesource for the request
EetkP/08Ci90.9
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) cancelQuery for
requestID=EetkP/08Ci90.9
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\]
(Worker556_QueryProcessorQueue2461107) Removing tuplesource for the request
EetkP/08Ci90.9
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) Failed to
Cancel request, as request already finished processing
2017-08-01 14:29:47,492 DEBUG \[org.teiid.PROCESSOR\] (New I/O worker #19) Failed to
Cancel request, as request already finished processing
2017-08-01 14:29:47,494 DEBUG \[org.teiid.TXN_LOG\] (New I/O worker #19) before
cancelTransactions:org.teiid.dqp.internal.process.TransactionServerImpl@5433f073(EetkP/08Ci90,false)
2017-08-01 14:29:47,494 DEBUG \[org.teiid.TXN_LOG\] (New I/O worker #19) before
cancelTransactions:org.teiid.dqp.internal.process.TransactionServerImpl@5433f073(EetkP/08Ci90,false)
2017-08-01 14:29:47,494 DEBUG \[org.teiid.TXN_LOG\] (New I/O worker #19) after
cancelTransactions : null
2017-08-01 14:29:47,494 DEBUG \[org.teiid.TXN_LOG\] (New I/O worker #19) after
cancelTransactions : null
2017-08-01 14:29:47,494 FINE \[org.teiid.jdbc\] (New I/O worker #19) Connection
successfully closed.
2017-08-01 14:29:47,494 FINE \[org.teiid.jdbc\] (New I/O worker #19) Connection
successfully closed.
2017-08-01 14:29:47,603 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #23) TEIID40114
Unhandled exception, closing client instance: null:
java.nio.channels.ClosedChannelException
at
org.jboss.netty.handler.stream.ChunkedWriteHandler.discard(ChunkedWriteHandler.java:168)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.handler.stream.ChunkedWriteHandler.flush(ChunkedWriteHandler.java:192)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:121)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:725)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.teiid.transport.ObjectEncoder.handleDownstream(ObjectEncoder.java:140)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:704)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:671)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler$ObjectChannelImpl.write(SSLAwareChannelHandler.java:93)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.teiid.transport.SocketClientInstance.onConnection(SocketClientInstance.java:165)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler.onConnection(SSLAwareChannelHandler.java:190)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.teiid.transport.SSLAwareChannelHandler.access$200(SSLAwareChannelHandler.java:58)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler$2.operationComplete(SSLAwareChannelHandler.java:179)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:413)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:380)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.handler.ssl.SslHandler.channelDisconnected(SslHandler.java:649)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:396)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:361)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:93)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:328)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_65]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_65]
2017-08-01 14:29:47,603 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #23) TEIID40114
Unhandled exception, closing client instance: null:
java.nio.channels.ClosedChannelException
at
org.jboss.netty.handler.stream.ChunkedWriteHandler.discard(ChunkedWriteHandler.java:168)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.handler.stream.ChunkedWriteHandler.flush(ChunkedWriteHandler.java:192)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:121)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:725)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.teiid.transport.ObjectEncoder.handleDownstream(ObjectEncoder.java:140)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:704)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.write(Channels.java:671)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler$ObjectChannelImpl.write(SSLAwareChannelHandler.java:93)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.teiid.transport.SocketClientInstance.onConnection(SocketClientInstance.java:165)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler.onConnection(SSLAwareChannelHandler.java:190)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at org.teiid.transport.SSLAwareChannelHandler.access$200(SSLAwareChannelHandler.java:58)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.teiid.transport.SSLAwareChannelHandler$2.operationComplete(SSLAwareChannelHandler.java:179)
[teiid-runtime-8.7.11.6_2-redhat-1.jar:8.7.11.6_2-redhat-1]
at
org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:413)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:380)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.handler.ssl.SslHandler.channelDisconnected(SslHandler.java:649)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:396)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:361)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:93)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:328)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
[netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_65]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_65]
2017-08-01 14:29:47,604 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #23) Channel closed
2017-08-01 14:29:47,604 DEBUG \[org.teiid.TRANSPORT\] (New I/O worker #23) Channel closed
Unable to use parameterized query with node pg module and Teiid/JBoss
VDB
-------------------------------------------------------------------------
Key: TEIID-5014
URL:
https://issues.jboss.org/browse/TEIID-5014
Project: Teiid
Issue Type: Feature Request
Affects Versions: 8.7.11.6_2
Environment: Teiid runtime 8.7.11
JBoss Data Virtualization 6.10
NodeJS 6.9.4
node pg 6.4.1
Mac OSX 10.11.6
Reporter: Brian M
Assignee: Steven Hawkins
When using node pg 6.4.1 in a node application to connect to a JBoss VDB with Teiid, we
are unable to successfully return data with a parameterized query.
Example from node js application (failure):
client.query("SELECT * FROM records WHERE recordType = $1", ['TYPE1'],
function(err, result) { done(); })
The above code will actually retrieve rows of data, but the connection will be terminated
unexpectedly from the JBoss side, thus resulting in a failure. We can confirm though that
the parameter is properly inserted into the variable, and rows of data can be retrieved
without issue.
Also, we have confirmed that when sending a static query, we are able to successfully
return data without JBoss terminating the connection. We found this approach from the
Teiid blog:
http://teiid.blogspot.com/2013/02/access-teiid-from-nodejs.html
Example from node js application (success):
client.query("SELECT * FROM records WHERE recordType = 'TYPE1'",
function(err, result) { done(); })
Is there something different about a parameterized query vs. a static query that may
cause this issue?
Are you aware of other individuals who have successfully used parameterized queries with
the node pg module and Teiid/JBoss VDB?
Is it possible that how the ODBC settings for Teiid are configured may have an impact on
parameterized queries vs. static queries?
Link:
https://teiid.gitbooks.io/documents/content/client-dev/ODBC_Support.html
Thank you so much for all your help!
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)