Environment information:
- LimeSurvey version: 5.6.46
- LimeSurvey build: 231121
- Operating system: CentOS 8.5
- PHP version: 8.0.22
- Server API: FPM/Fast-CGI
-
- Web server software: Apache/2.4.37 (centos) OpenSSL/1.1.1k
- Database driver: pgsql
- Database driver version: 13.3
- Database server info: Client Encoding: UTF8; Date Style: ISO, DMY
- Database server version: 13.12.18
Hi there,
Recently, we've discovered a potential LimeSurvey issue when importing participants from a CSV.
The CSV is 1.7MB in size, with 45,260 records. It only contains 3 columns labelled firstname, lastname, email, and the data has been cleansed so it only contains valid data. The attached image shows the import settings used.
When clicking Upload (the Upload button is not disabled - it can be clicked repeatedly), the page goes into a loading state (indicated by an icon on the browser tab) for a full 60 seconds until the PHP socket timeout value is reached. Once that happened a Gateway Timeout Error is displayed, and I had to close my browser before being able to navigate back to out LimeSurvey instance - it simply would not load.
After initially visiting the participants settings tab, it listed ~10k participants were in the participant table. When I returned later, it displayed the full 45,620 records.
We plan to increase the Timeout settings, but if the CSV import is going to take over 1 minute for ~45k records/1.7MB, I'd like to recommend implementing some type of automated user feedback like "This will take some time, please come back later.", and freezing the upload button if the user remains on that page.
Thank you for your attention to this submission.
Cheers,
Michael