tableau / server-client-python

A Python library for the Tableau Server REST API
https://tableau.github.io/server-client-python/
MIT License
655 stars 420 forks source link

Internal Server Error when publishing a data source size is > 64 MB #1352

Open purush1985 opened 7 months ago

purush1985 commented 7 months ago

Describe the bug When a Tableau extract(.tdsx) file published to Tableau server which are greater than 64 MB, then the REST API call returns "500 Internal Server Error". The same works very well with TSC version 0.25.

Versions Details of your environment, including:

To Reproduce 1) Keep a Tableau extract with a size of greater than 64 MB. In my case it was 74 MB 2) Use TCS version 0.29/0.30 to make a REST API call to publish to a server either new ds or overwrite 3) Read the response which will of 500 Internal Server Error

Results 500 Internal Server Error nothing much

NOTE: Be careful not to post user names, passwords, auth tokens or any other private or sensitive information.

jmooreWH commented 6 months ago

We have observed the same issue after upgrading to TSC version 0.29 with datasources.publish when the hyper file is larger than 64MB. We are using Tableau Server 2023.1.8 and python 3.11. In case it is useful, we pulled the following details from the Tableau Server logs:

last_exception_class=com.tableausoftware.domain.exception.FileUploadException
last_exception_message=errors.upload.concurrent_write
first_exception_class=com.tableausoftware.domain.exception.FileUploadException
first_exception_message=errors.upload.concurrent_write
last_exception_stacktrace=com.tableausoftware.domain.fileupload.appenders.ExclusiveFileLock.<init>(com.tableausoftware.domain.exception.FileUploadException)sun.nio.ch.FileLockTable.checkList(java.nio.channels.OverlappingFileLockException)
first_exception_location=File Upload Append Failure
last_exception_location=File Upload Append Failure
first_exception_stacktrace=com.tableausoftware.domain.fileupload.appenders.ExclusiveFileLock.<init>(com.tableausoftware.domain.exception.FileUploadException)sun.nio.ch.FileLockTable.checkList(java.nio.channels.OverlappingFileLockException)