When loading a large dataset via Qlik MongoDB connector, the following error occurs, and the data load fails:
Error: ERROR [HY000] [Qlik][MongoDBODBC] (110) Error from MongoDB Client: Failed to send "find" command with database "database_name": Failed to read 4 bytes: socket error or timeout (Error Code: 4)
Reducing the data volume eliminates the issue, which may be an alternate workaround.
Environment
Qlik ODBC connector package using MongoDB connector
Resolution
Specify the Socket Timeout value in the Advanced section of the connector configuration:
Name: SocketTimeoutMS
Value: 1200000 (in milliseconds/20 minutes)
The image is retrieved from Qlik Cloud.
Cause
The default value of SocketTimeout for the connector is -1.
However, if the connector doesn't set a specific timeout value, the mongo-c-driver library the Simba MongoDB ODBC Connector uses as a third-party dependency would determine a behavior.