Error when trying to publish a dataset from chorus to tableau

155 views
Skip to first unread message

Ishwardeep Singh

unread,
Jan 20, 2014, 2:44:33 AM1/20/14
to choru...@googlegroups.com
Hi

I am try to publish a dataset from chorus to Tableau. I have enabled Tableau in the properties file and have also specified the url and port on which Tableau is running.

When I try to publish a dataset in the chorus log file I see the following messages:

[7259dddc66a7bc750b28bc85d7b69889] [user_id:3] Creating new session
[7259dddc66a7bc750b28bc85d7b69889] [user_id:3]     Server:   http://online.tableausoftware.com:443/
[7259dddc66a7bc750b28bc85d7b69889] [user_id:3]     Username: ishwardeep.singh
[7259dddc66a7bc750b28bc85d7b69889] [user_id:3] Connecting to server...
[7259dddc66a7bc750b28bc85d7b69889] [user_id:3] Completed 422 Unprocessable Entity in 696ms (Views: 3.0ms | ActiveRecord: 10.0ms | Solr: 0.0ms)

I have tried to publish to online site as well as local Tableau server installation. I am not able to find reason for this error (422).

Any help on the same will be greatly appreciated.

Regards,
ishwardeep

Robbie GIll

unread,
Jan 20, 2014, 10:48:28 PM1/20/14
to choru...@googlegroups.com
It looks to me that it may be an issue of http vs https. The server in you log has the default https port 443, but is using http:// (which appears to be the only option currently in chorus' tableau publisher.)

For troubleshooting, is the tableau server only available over https?
What are the versions of the tableau server's to which you are trying to publish?

Ishwardeep Singh

unread,
Jan 21, 2014, 1:43:27 AM1/21/14
to choru...@googlegroups.com
Hi Robbie,

Thanks for your response. I am using Tableau version 8.1

Yes you were right when I pointed chorus to a local installation of Tableau server 8.1 which is running on http port 8000 it was able to login and did some initial processing and dumped html file with title "No route matches" in the logfile but finally came back with the same error.

[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Started POST "/workspaces/11/datasets/1929/tableau_workbooks" for ::ffff:192.168.7.62 at 2014-01-21 05:54:21 UTC
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Processing by TableauWorkbooksController#create as JSON
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   Parameters: {"tableau_workbook"=>{"name"=>"defect_map", "tableau_username"=>"bistelchorus", "tableau_password"=>"[FILTERED]", "create_work_file"=>true}, "workspace_id"=>"11", "dataset_id"=>"1929"}
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mSession Load (1.0ms)^[[0m  SELECT "sessions".* FROM "sessions" WHERE "sessions"."session_id" = 'fb5db47e1840f07762b8ec3f166fdec85640348d' LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[36mUser Load (1.0ms)^[[0m  ^[[1mSELECT "users".* FROM "users" WHERE "users"."deleted_at" IS NULL AND "users"."id" = 3 LIMIT 1^[[0m
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mWorkspace Load (1.0ms)^[[0m  SELECT "workspaces".* FROM "workspaces" WHERE "workspaces"."deleted_at" IS NULL AND "workspaces"."id" = 11 LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[36mMembership Load (1.0ms)^[[0m  ^[[1mSELECT "memberships".* FROM "memberships" WHERE "memberships"."user_id" = 3 AND "memberships"."workspace_id" = 11 LIMIT 1^[[0m
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mDataset Load (1.0ms)^[[0m  SELECT "datasets".* FROM "datasets" WHERE "datasets"."deleted_at" IS NULL AND "datasets"."id" = 1929 LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[36mGpdbSchema Load (1.0ms)^[[0m  ^[[1mSELECT "schemas".* FROM "schemas" WHERE "schemas"."deleted_at" IS NULL AND "schemas"."type" IN ('GpdbSchema') AND "schemas"."id" = 219 LIMIT 1^[[0m
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mGpdbDatabase Load (1.0ms)^[[0m  SELECT "gpdb_databases".* FROM "gpdb_databases" WHERE "gpdb_databases"."deleted_at" IS NULL AND "gpdb_databases"."id" = 61 LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[36mDataSource Load (1.0ms)^[[0m  ^[[1mSELECT "data_sources".* FROM "data_sources" WHERE "data_sources"."deleted_at" IS NULL AND "data_sources"."id" = 10 LIMIT 1^[[0m
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mDataSourceAccount Load (1.0ms)^[[0m  SELECT "data_source_accounts".* FROM "data_source_accounts" WHERE "data_source_accounts"."data_source_id" = 10 AND "data_source_accounts"."owner_id" = 3 LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[36mCACHE (0.0ms)^[[0m  ^[[1mSELECT "data_source_accounts".* FROM "data_source_accounts" WHERE "data_source_accounts"."data_source_id" = 10 AND "data_source_accounts"."owner_id" = 3 LIMIT 1^[[0m
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]   ^[[1m^[[35mWorkfile Exists (1.0ms)^[[0m  SELECT 1 AS one FROM "workfiles" WHERE ("workfiles"."file_name" = 'defect_map.twb' AND "workfiles"."workspace_id" = 11 AND "workfiles"."deleted_at" IS NULL) LIMIT 1
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Creating new session
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]     Server:   http://192.168.7.62:8000/
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]     Username: bistelchorus
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Connecting to server...
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Authenticity token: ybBca55HUQRiIzT0XRAXyAZBLLalVe53tVD6lRXwBhw=
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Logging in...
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Authenticity token: okcu25EviAqhMGEQXKRS4qolY0c/Qox9YAzBZ8+Hwpc=
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Login Succeeded.
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Connecting to server...
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] /manual/pubkey/workbooks.xml
[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3]

Then it dumps an html with title "No route matches" (I have attached the same)

[8019ec4b3a66cab60bd8ccb4fc78b55f] [user_id:3] Completed 422 Unprocessable Entity in 4069ms (Views: 5.0ms | ActiveRecord: 16.0ms | Solr: 0.0ms)

Can you please guide on how to proceed further?

Regards,
Ishwardeep
tabl.html

Philip Cooper

unread,
Jan 21, 2014, 11:40:25 AM1/21/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Ishwardeep,

Tableau Server 8.1 is not currently supported as we have seen issues in publishing from Chorus.

We're working to get some support from Tableau in resolving this and have this on the Chorus roadmap but not scheduled for a release yet.

If you're in a position to test further that would be great and would help us upgrade to supporting this release sooner.

Meanwhile, if you have an urgent need here, downgrading to TB Server 8.0 should solve the problem if that's an option for you.

Best,
Phil

Philip Cooper | +1 650 260 4634
--
You received this message because you are subscribed to the Google Groups "chorus-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chorus-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
<tabl.html>

Ishwardeep Singh

unread,
Jan 21, 2014, 1:07:44 PM1/21/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Phil,

Yes I can test further. Can you please guide me how I can debug this issue further?

Regards,
ishwardeep 

Ishwardeep Singh

unread,
Jan 22, 2014, 4:31:01 AM1/22/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Phil,

Not sure if this would help.

I looked at the Tableau log files and found the following trace related to the error I was seeing on chorus.

Started GET "/wg/pubkey/workbooks.xml" for 192.168.8.42 at 2014-01-21 14:43:02.000 +0900
2014-01-21 14:43:02.970 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=_user=_session=_request=_context=errors_message=  Processing by ErrorsController#handle_unknown_route as   _origin=192.168.7.62 at 2014-01-20 06:25:17,184
2014-01-21 14:43:02.972 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=_user=_session=_request=_context=errors_message=  Session ID: b02319938f4044dafc18ea5add5346b1
2014-01-21 14:43:02.973 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=_user=_session=_request=_context=errors_message=  Parameters: {"unknownRoute"=>"pubkey/workbooks.xml"}
2014-01-21 14:43:03.717 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_mru_links.html.erb (1.0ms)
2014-01-21 14:43:03.720 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_sidebar.html.erb (5.0ms)
2014-01-21 14:43:03.723 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_empty_sidebar.html.erb (0.0ms)
2014-01-21 14:43:03.727 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_mru_links.html.erb (5.0ms)
2014-01-21 14:43:03.731 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_sidebar.html.erb (8.0ms)
2014-01-21 14:43:03.733 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_empty_sidebar.html.erb (1.0ms)
2014-01-21 14:43:03.735 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_mru_links.html.erb (2.0ms)
2014-01-21 14:43:03.738 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_sidebar.html.erb (6.0ms)
2014-01-21 14:43:03.744 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_mru_links.html.erb (1.0ms)
2014-01-21 14:43:03.745 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_mru_sidebar.html.erb (6.0ms)
2014-01-21 14:43:03.754 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_favorites.html.erb (6.0ms)
2014-01-21 14:43:03.761 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_hide_embedded_load_spinner.html.erb (1.0ms)
2014-01-21 14:43:03.767 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_tableau_assets.html.erb (4.0ms)
2014-01-21 14:43:03.769 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_configuration_js.html.erb (0.0ms)
2014-01-21 14:43:03.773 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/_base_includes.html.erb (11.0ms)
2014-01-21 14:43:03.788 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered data_connections/_edit_form.html.erb (3.0ms)
2014-01-21 14:43:03.793 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered data_connections/_edit_lytebox.html.erb (9.0ms)
2014-01-21 14:43:03.796 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered layouts/_functions.html.erb (1.0ms)
2014-01-21 14:43:03.798 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors.handle_unknown_route_message=Rendered shared/404.html.erb within layouts/text_layout (207.0ms)
2014-01-21 14:43:04.400 +0900_level=INFO_server=169.254.3.62:WIN-M0UVET3UHLR_service=WEB-INF:0_pid=380_tid=0x21dbd7a8_site=Default_user=bistelchorus_session=_request=Ut4I5qn@Az4AAAzQYAwAAADD_context=errors_message=Completed 404 Not Found in 838ms (Views: 713.0ms | ActiveRecord: 73.0ms)

Regards,
Ishwardeep

Philip Cooper

unread,
Jan 22, 2014, 2:42:32 PM1/22/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Ishwardeep,

This is going to involve some investigative work as we (Alpine) aren't the guys who developed the original integration! I have a couple of ideas for you to get started though:

1) HTTP vs HTTPS - confirm that this isn't the problem. The connection URL that Chorus builds hard codes in HTTP -- if your Tableau 8.1 Server is running on HTTPS that's obviously not going to work
2) Review whether there have been any changes in the tabcmd utility between 8.0 and 8.1: http://onlinehelp.tableausoftware.com/v8.0/server/en-us/tabcmd_cmd.htm vs. http://onlinehelp.tableausoftware.com/v8.1/server/en-us/tabcmd_cmd.htm
3) Review whether any Tableau code embedded in the integration code has changed between 8.0 and 8.1: see https://github.com/Chorus/tableau

If you find anything please do let us know and thanks in advance!
Phil

Philip Cooper | VP, Operations & Alliances
Alpine Data Labs | +1 650 260 4634

Alpine "gets Big Data" says Business Insider. Find out why @ alpinenow.com

Ishwardeep Singh

unread,
Jan 23, 2014, 1:08:39 AM1/23/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Phil,

Thanks for sharing how I can get started. I will work on these.

Even Robbie had shared his concern with reference to http vs https. I was initially trying to connect to online tableau site which runs on https and it did not work. But after Robbie's suggestion I tried to connect to a local tableau server running on http. Over http Chorus was able to connect but I started to get "Unknown Route" error.

I will work on the next 2 points as suggested.

Regards,
Ishwardeep

Ishwardeep Singh

unread,
Jan 28, 2014, 10:34:48 AM1/28/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Phil,

I found differences in the tabcmd implementation currently integrated within chorus and one available in tableau 8.1. How can I replace the old tabcmd implementation with the new one?

Regards,
Ishwardeep

Ishwardeep Singh

unread,
Jan 29, 2014, 7:12:49 AM1/29/14
to choru...@googlegroups.com, Steven Hillion, Sara Asher
Hi Phil,

I manually updated/added a few source files from new tabcmd.jar available with tableau 8.1 in chorus.

I replaced publish.rb file and added a few source files (file_uploaded.rb, environment_settings.rb, cacert.pem) in my chorus installation folder. Now I can see in the chorus log files that it is trying to publish to tableau. But tableau is not able to connect to my greenplum database so I am getting an error.

Regards,
Ishwardeep

Philip Cooper

unread,
Jan 30, 2014, 8:33:12 PM1/30/14
to choru...@googlegroups.com, Robbie Gill, Sara Asher, Steven Hillion
Hi Ishwardeep,

Great! Sounds like progress.

Adding Robbie Gill from our engineering team; he can be your technical point of contact. 

Can you connect OK from your Tableau 8.1 Server to GPDB when you manually create the connection?

Best,
Phil

Philip Cooper | VP, Operations & Alliances
Alpine Data Labs | +1 650 260 4634

Alpine "gets Big Data" says Business Insider. Find out why @ alpinenow.com

Ishwardeep Singh

unread,
Jan 31, 2014, 1:02:07 AM1/31/14
to choru...@googlegroups.com, Robbie Gill, Sara Asher, Steven Hillion
Hi Phil,

The issue got resolved with help from tableau support. I had installed 64 bit version of the ODBC driver so that Tableau can connect to Greenplum as I have setup tableau on a 64 bit box. But Tableau needs a 32 bit version of the driver. Now I am able to publish my work book from chorus to Tableau.

After the dataset gets published in Tableau by default a view gets created within the workbook with the name "Sheet 1". If I try to give it a more meaningful name by renaming it I cannot view the renamed view and the linkage between chorus and tableau is broken.

To get my use case working I have just updated 1 file publish.rb and add a few new files (which were referenced by new publish.rb file). But their are similar changes to other commands in the tabcmd library. I am not sure if the other commands are required.

Should I share these files so that you can verify and push these to git chorus repository?

Regards,
Ishwardeep 

Philip Cooper

unread,
Jan 31, 2014, 2:00:19 PM1/31/14
to choru...@googlegroups.com, Robbie Gill, Sara Asher, Steven Hillion
Excellent news. Nicely done in getting this going.

If you're not planning to do any additional work then please go ahead and share the changed files. If you want to continue tweaking this, I'd suggest branching the github repo and making your own commits to that branch.

I've experienced the worksheet and workbook (re)naming limitation too. Chorus is accessing the workbook via the URL that it constructs when publishing so you need to be careful about what you change. We're considering a tighter and more robust integration with Tableau for Chorus but at present the lack of a real API into TB Server presents challenges. 

Thanks for your efforts on this!
Phil

Philip Cooper | VP, Operations & Alliances
Alpine Data Labs | +1 650 260 4634

Alpine "gets Big Data" says Business Insider. Find out why @ alpinenow.com

Ishwardeep Singh

unread,
Feb 3, 2014, 2:12:58 AM2/3/14
to choru...@googlegroups.com, Robbie Gill, Sara Asher, Steven Hillion
Hi Phil,

I am not planning to any additional work on this.

Please find attached the files that I have updated / added to chorus to get my integration working.

1. publish.rb - I updated the existing file in the folder tabcmd/lib/commands 
2. file_uploaded.rb - I added this file to the folder tabcmd/lib
3. environment_settings.rb - I  added this file to the folder tabcmd/lib
4. cacert.pem - I added this file to the folder tabcmd/lib

Thanks a lot for helping me resolve the issue.
Regards,
Ishwardeep
cacert.pem
environment_settings.rb
file_uploader.rb
publish.rb
Reply all
Reply to author
Forward
0 new messages