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

KB308453: Enterprise Manager Data Load fails when accessing the Enterprise Manager Warehouse in MicroStrategy Secure Enterprise


Community Admin

• Strategy


This technical note describes a known defect in MicroStrategy Enterprise Manager that causes the Enterprise Manager Data Load to fail when the warehouse database password contains certain special characters.

SUMMARY
This technical note describes a known defect in Strategy Enterprise Manager 10.x that causes the Enterprise Manager Data Load to fail when the warehouse database password contains certain special characters.
 
DESCRIPTION
In Strategy Enterprise Manager 10.x, the Data Load fails partway through the process at the first point where the EM service attempts to connect to the EM warehouse (generally this will be around 30%, at the point where "Migrating Statistics" is written to the log).  The exact behavior will be dependent on the status of the "UseMultiprocess" setting in the MSIReg.reg file on the EM Service machine.  See KB289904 for more information about this setting.
 
When UseMultiprocess=true:
 
Entries similar to the following will be written in the DSSErrors.log on the EM service machine:
 


2016-09-21 16:19:10.059-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1976420096][MultiProcess][Error] Find target process dead while waiting for reply
2016-09-21 16:19:10.143-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1911682816][Database Classes][Error] Execute Query failed.
Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [23000:1400: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into ("xxx"."EM_LOG"."EM_MESSAGE") Connection String: DSN=xxx;UID=xxx;HOST=xxx;PORT=xxx;SID=xxx;. SQL Statement: insert into EM_LOG(EM_TIME,EM_MESSAGE) values (to_date('2016/09/21 16:19:10','YYYY/MM/DD HH24:MI:SS'),'').
2016-09-21 16:19:10.192-05:00 [HOST:xxx][SERVER:][PID:1803][THR:1911682816][Database Classes][Error] Execute Query failed.
Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [23000:1400: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into ("xxx"."EM_LOG"."EM_MESSAGE") Connection String: DSN=xxx;UID=xxx;HOST=xxx;PORT=xxx;SID=xxx;. SQL Statement: insert into EM_LOG(EM_TIME,EM_MESSAGE) values (to_date('2016/09/21 16:19:10','YYYY/MM/DD HH24:MI:SS'),'').

 
Entries similar to the following will be written in the MAEntMgr.xml log on the EM service machine:
 

<log4j:event logger="MAEntMgr" timestamp="1474489139686" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Migrating Statistics]]></log4j:message>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489139688" level="DEBUG" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Starting moving IS_SCHEDULE_STATS]]></log4j:message>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489150081" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException:
        at com.Strategy.maem.dataload.etlnative.ETLMove.moveNative(Native Method)
        at com.Strategy.maem.dataload.etlnative.ETLMove.move(Unknown Source)
        at com.Strategy.maem.dataload.etlnative.ETLObject.ExecuteMove(Unknown Source)
        at com.Strategy.maem.dataload.etlnative.ETLObject.move(Unknown Source)
        at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
        at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
        at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489150121" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Statistics migration failed, Please check DSSErrors.log for more details]]></log4j:message>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489150122" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[Statistics migration failed, Please check DSSErrors.log for more details]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException: Statistics migration failed, Please check DSSErrors.log for more details
        at com.Strategy.maem.dispatcher.DispatcherPool.handleReturnType(Unknown Source)
        at com.Strategy.maem.dispatcher.command.BaseCommand.notifyHandler(Unknown Source)
        at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.processReturn(Unknown Source)
        at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
        at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
        at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489150128" level="INFO" thread="pool-1-thread-1">
<log4j:message type ="DEFAULT"><![CDATA[Error during the data load migration!]]></log4j:message>
</log4j:event>

<log4j:event logger="MAEntMgr" timestamp="1474489150130" level="ERROR" thread="pool-1-thread-1">
<log4j:message><![CDATA[Statistics migration interruped]]></log4j:message>
<log4j:throwable><![CDATA[com.Strategy.maem.exceptions.EMException: Statistics migration interruped
 at com.Strategy.maem.dataload.statistics.TransferStatisticsCommand.executeCommand(Unknown Source)
 at com.Strategy.maem.dispatcher.command.BaseCommand.execute(Unknown Source)
 at com.Strategy.maem.dispatcher.command.BaseCommand.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
]]></log4j:throwable>
</log4j:event>

 
When UseMultiprocess=false:
 
Entries similar to the following will be written in the DSSErrors.log on the EM service machine:
 

[HOST:xxxx][SERVER:][PID:xxxx][THR:3280099072][Database Classes][Error] Connect failed. Login failed.
Error type: Odbc error. Odbc operation attempted: SQLDriverConnect. [HY000:0: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver]Insufficient information to connect to the data source. Connection String: DSN=xxxx;.
[HOST:xxxx][SERVER:][PID:xxxx][THR:3280099072][Database Classes][Error] Failed to connect to data source. Error message: Connect failed. Login failed.
Error type: Odbc error. Odbc operation attempted: SQLDriverConnect. [HY000:0: on SQLHANDLE] [Strategy][ODBC Oracle Wire Protocol driver]Insufficient information to connect to the data source. Connection String: DSN=xxxx;.
[HOST:xxxx][SERVER:][PID:xxxx][THR:1380558592][MultiProcess][Error] The child process is terminating because the parent process died.
[HOST:xxxx][SERVER:][PID:xxxx][THR:2998875904][MultiProcess][Error] The child process is terminating because the parent process died. 

 
The MAEntMgr.xml log will simply end at the last successful operation.  There may be no indications of any errors.
 
If the Enterprise Manager Data Loader Service was started through the Linux terminal with the UseMultiprocess=False option enabled, a message similar to the following may be observed in the terminal output:
 

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc253a25de4, pid=1648, tid=140472451540736
#
# JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libM8DbCon3.so+0x1f5de4]  MDb::LogicalConnection::CreateStatement()+0x4
#

 
 
This error has been seen to occur independent of the EM Warehouse database server type.
 
CAUSE
This issue occurs when the database user used to connect to the Enterprise Manager Warehouse has an "=" (equal) character in the pasword.
 
ACTION
This issue has been logged to the Strategy Technology department for further analysis.
 
WORKAROUND
Remove the "=" character from the database user's password.  Be sure to update the login credentials in the Statistics Database Instance -> Database Connection -> Database Login on the Strategy Intelligence Server and the login credentials in Service Manager for the Enterprise Manager Data Load Service.
 
The Strategy internal reference number for the issue described in this technical note is DE44201.   
 


Comment

0 comments

Details

Knowledge Article

Published:

March 31, 2017

Last Updated:

March 31, 2017