tableau / connector-plugin-sdk

SDK for Developing Tableau Connector Plugins
https://tableau.github.io/connector-plugin-sdk/
MIT License
108 stars 108 forks source link

TDVT tests fail with "TableauException: FederatedSubtreeBuilder: Could not determine types for all columns in the relation" #1206

Closed kaklakariada closed 8 months ago

kaklakariada commented 10 months ago

About You: Name: Christoph Pirkl Company: Exasol

Your question:

The TDVT tests for our JDBC Exasol connector fail with the following error message in tdvt_log_combined.txt:

2023-12-11 07:55:34,544 Thread-[1] Running test:logical.calcs.exasol_jdbc
2023-12-11 07:55:34,553 Thread-[1]  calling C:\Program Files\Tableau\Tableau 2023.3\bin\tabquerytool.exe --query-file-list C:\Users\chp\AppData\Local\Temp\2\cca01878f059c4e8bf387d353dba092ed4fa2b543a98fa40ee74a993a3q6rpt0\logical_calcs_exasol_jdbc\tests.txt -d C:\Users\chp\git\tableau-connector\tdvt_jdbc\tds\cast_calcs.exasol_jdbc.tds --combined --schema TestV1 --password-file C:\Users\chp\git\tableau-connector\tdvt_jdbc\tds\exasol_jdbc.password --output-dir C:\Users\chp\AppData\Local\Temp\2\cca01878f059c4e8bf387d353dba092ed4fa2b543a98fa40ee74a993a3q6rpt0 -DLogDir=C:\Users\chp\AppData\Local\Temp\2\cca01878f059c4e8bf387d353dba092ed4fa2b543a98fa40ee74a993a3q6rpt0\logical_calcs_exasol_jdbc -DOverride=ProtocolServerNewLog -DConnectPluginsPath=..\src -DLogicalQueryRewriteDisable=Funcall:RewriteConstantFuncall -DInMemoryLogicalCacheDisable
2023-12-11 07:55:47,401 Thread-[1] CalledProcessError: Return code: 12 Attempting to run query...
TableauException: FederatedSubtreeBuilder: Could not determine types for all columns in the relation.
{"relation-conn":"leaf","relation-conn-class":"exasol_jdbc","relation-table":"[TESTV1].[Calcs]","unknown-type-columns":["[bool0_]","[bool1_]","[bool2_]","[bool3_]"]}

Error running query

2023-12-11 07:55:47,402 Thread-[1] Command line output:Attempting to run query...
TableauException: FederatedSubtreeBuilder: Could not determine types for all columns in the relation.
{"relation-conn":"leaf","relation-conn-class":"exasol_jdbc","relation-table":"[TESTV1].[Calcs]","unknown-type-columns":["[bool0_]","[bool1_]","[bool2_]","[bool3_]"]}

Error running query

2023-12-11 07:55:47,412 
Finished tdvt suite [exasol_jdbc]: tested sql [False]: tested tuples [True]: tested error [False]: output dir [C:\Users\chp\AppData\Local\Temp\2\cca01878f059c4e8bf387d353dba092ed4fa2b543a98fa40ee74a993a3q6rpt0]: logical [True]: config file [logical.calcs.exasol_jdbc]: override [-DConnectPluginsPath=..\src]: tds [C:\Users\chp\git\tableau-connector\tdvt_jdbc\tds\cast_calcs.exasol_jdbc.tds]: thread [6]

In total 31 tests fail because of this:

Test Count: 949 tests
        Passed tests: 918
        Failed tests: 31
        Tests run: 949
        Disabled tests: 0
        Skipped tests: 0

How can I fix these errors?

TDVT version: 2.7.6 Tableau Desktop version: 2023.3

hab6 commented 9 months ago

I hope it's okay to piggy-back on this issue since I am encountering the same error.

Here is my "About You":

Name: Michael Habiger Company: Actian Corporation

TDVT version: 2.7.6

Excerpts from my tdvt_log_combined.txt

2023-12-12 15:58:48,798 Thread-[6]  calling C:\Program Files\Tableau\Tableau 2023.3\bin\tabquerytool.exe --expression-file-list C:\Users\mhabiger\AppData\Local\Temp\596bb5566baa2f9f2e3f0063660fdd831d866604cf06c81d59fe6d2e8b72202_\expression_lod_mahjdbc\tests.txt -d C:\Users\mhabiger\Data\work\tableau\dec12test\tabdsk-2023.3\wksp\tds\cast_calcs.mahjdbc.tds --combined --schema mhabiger --password-file C:\Users\mhabiger\Data\work\tableau\dec12test\tabdsk-2023.3\wksp\tds\mahjdbc.password --output-dir C:\Users\mhabiger\AppData\Local\Temp\596bb5566baa2f9f2e3f0063660fdd831d866604cf06c81d59fe6d2e8b72202_ -DLogDir=C:\Users\mhabiger\AppData\Local\Temp\596bb5566baa2f9f2e3f0063660fdd831d866604cf06c81d59fe6d2e8b72202_\expression_lod_mahjdbc -DOverride=ProtocolServerNewLog -DLogicalQueryRewriteDisable=Funcall:RewriteConstantFuncall -DInMemoryLogicalCacheDisable

.....

2023-12-12 15:59:05,126 Thread-[1] CalledProcessError: Return code: 12 Attempting to run query...
TableauException: FederatedSubtreeBuilder: Could not determine types for all columns in the relation.
{"relation-conn":"leaf","relation-conn-class":"actian_jdbc","relation-table":"[mhabiger].[Calcs]","unknown-type-columns":["[bool0_]","[bool1_]","[bool2_]","[bool3_]"]}

The error only occurs when using tabquerytool.exe from my Tableau Desktop version 2023.3. If I simply update the TAB_CLI_EXE_X64 path in the tdvt_override.ini to point to the tabquerytool.exe from my 2023.2 version, the error doesn't occur.

So it seems like a problem introduced in 2023.3.

rosswbrown commented 9 months ago

Thank you both for reporting this. We will investigate.

Tracking: W-14659872

rosswbrown commented 9 months ago

I believe this bug is fixed with the latest release of TDVT 2.13.4.

There was an associated test update to setup.BUGS.B59740.xml that was required by the platform with the release of 2023.3. The columns [bool<num>_] were updated to [bool<num>] in that file.

hab6 commented 8 months ago

TDVT version 2.13.4 seems to have fixed the problem for us. Thank you!

hawkfish commented 8 months ago

You will nee a more recent version of Python for this release - 3.7.9 fails.