EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

Query Execution Error using the Salesforce ODBC driver


Norman Matos

Associate Scrum Master • Strategy


This article describes how to workaround the query execution error due to 'WSTimeout' value when using the Salesforce ODBC driver to import data into MicroStrategy.

Symptom


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.


 

Driver Details
Salesforce driver version: 07.16.0218 (B0325, U0217, S000167)
Hotfix Version: 3.10.0-514.16.1.e17.x86_64

ICU Version: 07.15.0086




 

WSTimeout Details
Attribute: WSTimeout (WST)
Purpose: Specifies the time, in seconds, that the driver waits for a response to a Web service request.
Valid Values: 0 | x
where:
x is a positive integer that defines the number of seconds the driver waits for a response to a Web service request.
Behavior:
If set to 0, the driver waits indefinitely for a response; there is no timeout.
If set to x, the driver uses the value as the default timeout for any statement created by the connection.
If a Select request times out and WSRetryCount (WSRC) is set to retry timed-out requests, the driver retries the request the specified number of times.
Default:
120 (seconds)
 
 
 

Workaround for Query Execution Error

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
 


Comment

0 comments

Details

Knowledge Article

Published:

February 13, 2018

Last Updated:

February 13, 2018