tableau / connector-plugin-sdk

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

[BUG] Can't run Prep flow on Tableau Server #936

Closed artshevchenko closed 2 years ago

artshevchenko commented 2 years ago

When non-native connector used to retrieve data by Prep, Prep Conductor can't run flow. The error message is:

Failed to connect to “”. Check that the connection is available or in the Connections tab, click Edit to check the required fields and credentials.

Screenshot 2022-03-23 at 16 05 04

In the "Edit Connection" window I can pass connection test successfully:

Screenshot 2022-03-23 at 16 17 49

Connector works perfectly, I can see data preview when open flow in Web Edit on Tableau Server:

Screenshot 2022-03-23 at 16 09 38

You can get more info here

Environment:

About you: Name: Artem Shevchenko Company: ANALYTIKA PLUS

pvanderknyff commented 2 years ago

Added to internal backlog

PCbIX commented 2 years ago

+1, we can't work propertly whithout clickhouse connector in our jobs

pvanderknyff commented 2 years ago

For Prep on Server, make sure the .taco file is added to the following directories:

As well as the folder for general Tableau Server (though from the bug description you likely have that installed correctly):

Let me know if adding the taco to the above fixes the issue. I think our documentation in this area is incomplete, I'll update them accordingly.

PCbIX commented 2 years ago

The same issue: 1 error Failed to connect to “”. Check that the connection is available or in the Connections tab, click Edit to check the required fields and credentials.

root@tableau-b-1:/opt/tableau/tableau_connectors# tsm configuration get -k native_api.connect_plugins_path
/opt/tableau/tableau_connectors
root@tableau-b-1:/opt/tableau/tableau_connectors# ls -lh /opt/tableau/tableau_driver/jdbc/
total 3.9M
-rwxr-xr-x 1 root root  2.9M Jan 16 12:01 clickhouse-jdbc-0.3.2-patch2-shaded.jar
-rwxr-xr-x 1 root root 1015K Mar 11 17:10 postgresql-42.3.3.jar
root@tableau-b-1:/opt/tableau/tableau_connectors# ls -lh
total 24K
-rwxr-xr-x 1 root root 21K Feb  1 17:06 clickhouse_jdbc_0.2.2.taco
root@tableau-b-1:/opt/tableau/tableau_connectors# ls -lh /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Connectors/
total 24K
-rwxr-xr-x 1 root root 21K Apr  4 08:45 clickhouse_jdbc_0.2.2.taco
root@tableau-b-1:/opt/tableau/tableau_connectors# ls -lh /var/opt/tableau/tableau_server/data/tabsvc/flowprocessor/Connectors/
total 24K
-rwxr-xr-x 1 root root 21K Apr  4 08:44 clickhouse_jdbc_0.2.2.taco
pvanderknyff commented 2 years ago

I'm not 100% sure that Prep honors the connect_plugins_path directory from the native api, that may be your issue. It's mainly intended for testing in-development connectors. There are 2 options for Server setup here, we prefer the first one, though it doesn't have the Prep folders at the moment. I have documentation changes in flight, for now try adding your connectors to the following directories and restart your server:

Let me know if the connector still has problems with Prep after adding the taco file to the above directories.

Customer-facing documentation for installing connectors is available here, that should be the single source of truth for installing connectors.

artshevchenko commented 2 years ago

@pvanderknyff Hi! It seems that the correct list of directories to install the connector is as follows:

Thank you for your help!

pvanderknyff commented 2 years ago

@artshevchenko I'm glad you were able to resolve your issues with Prep Conductor! I'll make sure the documentation is updated correctly with your findings. I'll do some testing on my side, but did you find that adding the taco file to flowminerva was necessary to unblock the Prep Conductor scenario, or was that to unblock a different scenario? Thanks!

artshevchenko commented 2 years ago

@pvanderknyff In version 2022.1 we did not find flowqueryservice. Obviously, the process could not evaporate, so we were looking for another process that has a Connectors directory. flowminerva turned out to be such a process. Apparently in new releases flowminerva performs flowqueryservice tasks. The author of the issue in our repository confirmed the operability of the solution described above

pvanderknyff commented 2 years ago

Thanks for confirming, that's helpful information. I'll continue working to fix/improve our documentation surrounding this scenario.

PCbIX commented 2 years ago

Hi. After removing native_api.connect_plugins_path, moving all taco files to directories listed above and restarting server all works perfect, Thanks.

pvanderknyff commented 2 years ago

@artshevchenko @PCbIX

Just a heads up, spurred by this issue we're modifying our recommendations for installing tacos on server to use a previously undocumented option. The method you used is still an option and will continue to be supported, so no action is needed, but if you have troubles again you can add tacos to the following directory:

    - Windows: C:\Program Files\Tableau\Connectors
    - Linux: /opt/tableau/connectors

Tacos in this directory will be picked up by all Tableau Sever processes on that machine by design. It's more future-proofed than the other option, and simpler since it's just the one directory instead of three. I'll have the documentation on the SDK updated to reflect this today most likely and the documentation on the public facing user documentation shortly thereafter.