When trying to run a query using the Salesforce ODBC driver shipped with Strategy, a ‘read time out’ is encountered unexpectedly. This may expose itself additionally in the form of a crash of the M8MulPrc process within Strategy.
If evaluating the call stack of the core dump, you may see a “Read timed out" exception which leads to the crash.
Event: 35.638 Thread 0x000000000184e000 Exception <a 'java/net/SocketTimeoutException': Read timed out> (0x00000000fc16ece0) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u77/6540/hotspot/src/share/vm/prims/jni.cpp, line 735]
This timeout can occur when the web service does not respond within the time of the driver's configured “WSTimeout” value.
ICU Version: 07.15.0086
Edit the Salesforce DSN in the ODBC.ini file to include/set the WSRetryCount to 2 or 3
[SalesForce_DSN]
ApplicationUsingThreads=1
CreateDB=1
Description=Strategy ODBC Driver for Salesforce
WSFetchSize=0
Driver=/opt/mstr/MicroStrategy/install/lib/MYsfrcXX.so
LogConfigFile=/opt/mstr/MicroStrategy/svcappin.logging.properties
LogonDomain=
FetchSize=160
WSTimeout=120
SecurityToken=
CustomSuffix=Strip
JVMClasspath=/opt/mstr/MicroStrategy/install/lib/mongodb.jar:/opt/mstr/MicroStrategy/install/lib/sforce.jar
JVMArgs=-Xmx256m -Dhttps.protocols=TLSv1.1,TLSv1.2
InitializationString=
LoginTimeout=15
TransactionMode=1
Extended Options=
Database=
StmtCallLimitBehavior=1
WSRetryCount=2
StmtCallLimit=0
QueryTimeout=0
ConfigOptions=AuditColumns=AuditOnly;MapSystemColumnNames=0;CustomSuffix=Include;KeywordConflictSuffix=TABLE
HostName=login.salesforce.com