Internal Server Error when publishing a data source size is > 64 MB
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:
- Tableau Server version (or note if using Tableau Online) - 2022.3
- Python version - 3.7.0
- TSC library version - 0.29/0.30
To Reproduce
- Keep a Tableau extract with a size of greater than 64 MB. In my case it was 74 MB
- Use TCS version 0.29/0.30 to make a REST API call to publish to a server either new ds or overwrite
- 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.
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)