]
Steven Hawkins commented on TEIID-5147:
---------------------------------------
Can you provide a test harness for this? Or at least a trace of the ODBC message traffic?
This could be related to the client / tool you are using as well. From a server
perspective it's unlikely that results are being inappropriately returned, but at the
protocol layer or even at the client side there may be something unexpected.
ODBC server serving unrelated results
-------------------------------------
Key: TEIID-5147
URL:
https://issues.jboss.org/browse/TEIID-5147
Project: Teiid
Issue Type: Bug
Components: ODBC
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Steven Hawkins
Priority: Blocker
There is blocking issue with ODBC server. The results are corrupt due to interleaving
queries running on the server.
For a query:
{code:sql}
SELECT BQT1.SmallA.StringKey FROM BQT1.SmallA WHERE BQT1.SmallA.StringKey >= 47
{code}
I get following result:
||relname||nspname||relkind||
|HugeA|BQT1|v|
|HugeB|BQT1|v|
|LargeA|BQT1|v|
|LargeB|BQT1|v|
|MediumA|BQT1|v|
|MediumB|BQT1|v|
|SmallA|BQT1|v|
|SmallB|BQT1|v|
|HugeA|BQT2|v|
|HugeB|BQT2|v|
|LargeA|BQT2|v|
|LargeB|BQT2|v|
|MediumA|BQT2|v|
|MediumB|BQT2|v|
|SmallA|BQT2|v|
|SmallB|BQT2|v|
|dv_odbc_test|OdbcTest|r|
|Columns|SYS|r|
|DataTypes|SYS|r|
|FunctionParams|SYS|r|
|Functions|SYS|r|
|GEOMETRY_COLUMNS|SYS|v|
|KeyColumns|SYS|r|
|Keys|SYS|r|
|ProcedureParams|SYS|r|
|Procedures|SYS|r|
|Properties|SYS|r|
|ReferenceKeyColumns|SYS|r|
|Schemas|SYS|r|
|Tables|SYS|r|
|VirtualDatabases|SYS|r|
|spatial_ref_sys|SYS|v|
|MatViews|SYSADMIN|r|
|StoredProcedures|SYSADMIN|r|
|Triggers|SYSADMIN|r|
|Usage|SYSADMIN|r|
|VDBResources|SYSADMIN|r|
|Views|SYSADMIN|r|
|hugea|Source|r|
|hugeb|Source|r|
|largea|Source|r|
|largeb|Source|r|
|mediuma|Source|r|
|mediumb|Source|r|
|smalla|Source|r|
|smallb|Source|r|
which is a result to an internal query performed by the engine.
See the following command log.
Notice, that
* j2lxLVGEBuHy.195 is the request I actually got results for
* j2lxLVGEBuHy.200 is the requestId of my query
{code}
23:33:09,507 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue68) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.507
requestID=j2lxLVGEBuHy.195 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=select relname, nspname, relkind from pg_catalog.pg_class c,
pg_catalog.pg_namespace n where relkind in ('r', 'v') and nspname not in
('pg_catalog', 'information_schema', 'pg_toast',
'pg_temp_1') and n.oid = relnamespace order by nspname, relname
23:33:09,508 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue68) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.508 requestID=j2lxLVGEBuHy.194
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:09,521 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.521
requestID=j2lxLVGEBuHy.196 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=select attrelid, attnum, typoid from pg_catalog.matpg_relatt where
attname = ? and relname = ? and nspname = ?
23:33:09,523 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.523 requestID=j2lxLVGEBuHy.196
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:09,524 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.524
requestID=j2lxLVGEBuHy.197 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=select attrelid, attnum, typoid from pg_catalog.matpg_relatt where
attname = ? and relname = ? and nspname = ?
23:33:09,527 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.527 requestID=j2lxLVGEBuHy.197
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:09,528 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.528
requestID=j2lxLVGEBuHy.198 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=select attrelid, attnum, typoid from pg_catalog.matpg_relatt where
attname = ? and relname = ? and nspname = ?
23:33:09,530 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.53 requestID=j2lxLVGEBuHy.198
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:09,533 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.533
requestID=j2lxLVGEBuHy.199 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=SELECT 0
23:33:09,537 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:09.536
requestID=j2lxLVGEBuHy.200 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=SELECT BQT1.SmallA.StringKey FROM BQT1.SmallA WHERE
BQT1.SmallA.StringKey >= 47
23:33:09,542 INFO [org.teiid.COMMAND_LOG] (Worker2_QueryProcessorQueue72) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.542 requestID=j2lxLVGEBuHy.199
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:09,543 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
START DATA SRC COMMAND: startTime=2017-11-11 23:33:09.543
requestID=j2lxLVGEBuHy.200 sourceCommandID=0 executionID=9
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > modelName=Source translatorName=postgresql
sessionID=j2lxLVGEBuHy principal=user@teiid-security sql=SELECT g_0.stringkey FROM
Source.smalla AS g_0 WHERE g_0.stringkey >= '47'
23:33:09,544 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
SOURCE SRC COMMAND: endTime=2017-11-11 23:33:09.544 requestID=j2lxLVGEBuHy.200
sourceCommandID=0 executionID=9 txID=TransactionImple < ac, BasicAction:
0:ffff7f000001:-71f7cd09:5a077a80:e status: ActionStatus.RUNNING > modelName=Source
translatorName=postgresql sessionID=j2lxLVGEBuHy
principal=user@teiid-security sourceCommand=[SELECT g_0."stringkey" FROM
"smalla" AS g_0 WHERE g_0."stringkey" >= '47']
23:33:09,553 INFO [org.teiid.COMMAND_LOG] (Worker3_QueryProcessorQueue69) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:09.553 requestID=j2lxLVGEBuHy.195
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=46
23:33:10,012 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
END SRC COMMAND: endTime=2017-11-11 23:33:10.012 requestID=j2lxLVGEBuHy.200
sourceCommandID=0 executionID=9 txID=TransactionImple < ac, BasicAction:
0:ffff7f000001:-71f7cd09:5a077a80:e status: ActionStatus.RUNNING > modelName=Source
translatorName=postgresql sessionID=j2lxLVGEBuHy
principal=user@teiid-security finalRowCount=8 cpuTime(ns)=3924366
23:33:10,013 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:10.013
requestID=j2lxLVGEBuHy.201 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=select attrelid, attnum, typoid from pg_catalog.matpg_relatt where
attname = ? and relname = ? and nspname = ?
23:33:10,016 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:10.016 requestID=j2lxLVGEBuHy.201
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=1
23:33:10,019 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
START USER COMMAND: startTime=2017-11-11 23:33:10.019
requestID=j2lxLVGEBuHy.202 txID=null sessionID=j2lxLVGEBuHy
applicationName=ODBC principal=user@teiid-security vdbName=Postgres92
vdbVersion=1 sql=SELECT 0
23:33:10,020 INFO [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue71) j2lxLVGEBuHy
END USER COMMAND: endTime=2017-11-11 23:33:10.02 requestID=j2lxLVGEBuHy.200
txID=TransactionImple < ac, BasicAction: 0:ffff7f000001:-71f7cd09:5a077a80:e status:
ActionStatus.RUNNING > sessionID=j2lxLVGEBuHy principal=user@teiid-security
vdbName=Postgres92 vdbVersion=1 finalRowCount=8
{code}