Skip to content

Download hangs for very large datasources and workbooks #1254

Closed as not planned

Description

Describe the bug
When using the endpoints for downloading a data source or a workbook, the request might hang for very large items.

More specifically, it'll hang in the phase where it's sending the request to Tableau to prepare the download, and Tableau is "putting together" the download. When doing this in your browser interactively, this is the moment where you click "Download", and you see the status bar saying "Waiting for (tableau.wherever.com)", until the download starts. In TSC, this is hanging on line 86 in endpoint.py, where server_response seems like it never gets resolved.

I've tested this with a 20 GB data source with extract. Interactively, in a browser, the request comes through after about 12 minutes, and the download starts. With TSC, it never does. Note that no timeout is added to the requests parameters with add_http_options, i.e. it is TSC's default 0.

Versions
Details of your environment, including:

  • Tableau Server version (or note if using Tableau Online): 2022.1.13 (20221.23.0315.2054) 64-bit Linux
  • Python version: 3.10.7
  • TSC library version: 0.25 (because 0.26 was yanked from PyPi?)

To Reproduce
Really just: tableau_server_tsc.datasources.download(...)

Results
No error, but continues indefinitely without a response.

Activity

  1. rupalvshinde commented on Mar 5, 2024

    @rupalvshinde

    is there any update on this , we too facing same issue

  2. github-actions commented on Aug 1, 2026

    @github-actions

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.

  3. github-actions commented on Aug 16, 2026

    @github-actions

    Closing due to inactivity. If this is still relevant, please reopen or file a new issue.

  4. jacalata commented on Nov 10, 2026

    @jacalata
    Contributor

    Large downloads can take the server several minutes to prepare before the first byte arrives, and TSC sends requests with no timeout by default, so the client waits as long as the server does. Setting server.add_http_options({"timeout": ...}) makes the call fail instead of hang. If this still happens on a current version, please open a new issue with the version, the item size and the timeout you used.

  5. TimothyVermeirenBiztory commented on Nov 11, 2026

    @TimothyVermeirenBiztory
    Author

    @jacalata thanks for chiming in! Years later, I realize that that is indeed what is happening.

    Not sure if the content I was dealing back then was so large that it would seemingly never resolve, but it's definitely not an issue or a bug - it is just how it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs investigationIssue needs to be looked at by TableaustaletriagedReviewed by a maintainer; leave closed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions