Title: HOW-TO | CIF CONSULT | Redouane BELBAHRI
1Informatica Create a crash dump using Debug
Diag
- HOW-TO CIF CONSULT Redouane BELBAHRI
2Agenda
Terminology
1
3Terminology
- ISP Informatica Services Platform
- 9.x - The ISP is the administrative framework for
Informatica services. It allows monitoring,
start/stop, and failover of services - Model Repository Service (MRS)
- Model Reposiory Service (MRS) manages the model
Repository which contains the metadata for Data
Services. - Data Integration Service (DIS)
- The Data Integration Service (DIS) is a container
for all data integration functionalities.
Plug-ins for the DIS provide different data
integration functionalities.
4Terminology
- Data Transformation Manager (DTM)
- DTM Interprets and executes mappings.
- It is re-engineered to be lightweight and
embeddable. It allows repository-less execution
In previous versions of PowerCenter, DTM connects
to the repository to fetch the plan. However, now
the mapping can be run without reading from the
repository, like mapping stored to disk. - DTM enables concurrent execution semantics
multiple DTM instances can coexist in the same
process. - It allows different execution modes single
threaded and pipelined execution modes. - Profiling Service
- The Profiling Service is a component integrated
into Informatica Data Services. It includes the
Profiling Plug-in and Profiling Warehouse.
5Terminology
- Mapping Service Module
- The Mapping Service Module is the component
service in the Data Integration Service that
manages requests to preview target data and run
mappings. - SQL Service Module
- The SQL Service Module is the component service
in the Data Integration Service that manages SQL
queries sent to an SQL data service from a third
party client tool. - When the Data Integration Service receives an SQL
request from a third party client tool, the SQL
Service Module starts a DTM instance to run the
SQL query against the virtual tables in the SQL
data service.
6Terminology Nodes and Domains
- When you install and run the Informatica
services, the installation is known as a node.
The node becomes part of an Informatica domain. A
domain is a grouping of one or more nodes. - Domain Basics
- The most basic description of an Informatica
domain is this There is a node, and there is a
domain database. The node is where stuff runs.
The database is where the node keeps stuff. - The Node
- The node is a logical representation of the
Informatica installation on a server. It is run
by Apache Tomcat. - Two Kinds of Nodes
- Worker Nodes A worker node runs a Service
Manager process, and it can run application
services. - Gateway Nodes A gateway node can run application
services, and it runs its own Service Manager
Process. When you start the master gateway node,
the management services log their startup
progress to node.log and catalina.out. You can
find both of these log files in
INFA_HOME/tomcat/logs. - Master Gateway Node Any gateway node can also be
a master gateway node.
7Terminology Nodes and Domains
- Node Communication
- The master gateway node is the one node in the
domain that communicates with the domain
database, and it does so through JDBC. It
periodically performs a heartbeat check against
the domain database.
8Following is the architectural diagram of
Informatica 9.1
- Green components are added in Informatica 9.x
- Blue components are from existing PowerCenter.
9Informatica 9.X Service-Oriented Architecture
10Agenda
Log management
2
11Catalina.out ispLogs.log
- Catalina.out contains
- Core services initial startup events
- Tomcats ERROR event until 9.1HF3
- ISP processs stdout stderr
- ispLogs.log (introduced in 9.1HF3)
- Tomcats ERROR events in 9.1HF3
- Tomcats INFO event until 9.1HF4
- Not generated on windows
- Logging level modified through isplogging.properti
es in ./tomcat/bin location
12Node.log
- Contains
- Master Election Re-election
- Some errors during inter-node communication
- Error severity Level controlled in AdminConsole
from Nodes properties - WARNING by default. Change it to INFO for
information of master re-election
13Exceptions.log
- Logs exceptions faced in the ISP process
- Any exception message seen in Node.log is
typically logged with stack trace to
exceptions.log
14ServiceFramework.log (until 9.1.x)
- Tomcat/bin
- JSF logs to this file.
- All Mercury service processes, ISP process, Admin
Console process write to the same - Critical for domain/node issues as it contains
most critical errors - Isp/bin
- Infacmd commands write to this file (infacmd
generate this file in whichever directory you
execute the command) - Contains errors related to infacmd to
node/service communication.
15Domain Logs (exported from Adminconsole)
- Contains some more log files by each node and
domain - On missing heartbeat from node
- When a service process terminated unexpectedly
- When a service process wrote to stdout/stderr
before crashing (stack trace)
16AdminConsoles log files
- Tomcat/temp/_AdminConsole/logs/
- Services/AdministratorConsole/Administrator.log
17Application Service Logs
- ./tomcat/logs/MRS/ltMRS_NAMEgt.log
- ./tomcat/logs/as/analyst.log
- ./tomcat/bin/disLogs/ltDIS_NAMEgt.log
18Agenda
Windows diagnostic tools
3
19Debug Diagnostic Tool
- The Debug Diagnostic Tool (DebugDiag) is designed
to assist in troubleshooting issues such as
hangs, slow performance, memory leaks or
fragmentation, and crashes in any user-mode
process. The tool includes additional debugging
scripts focused on Internet Information Services
(IIS) applications, web data access components,
COM and related Microsoft technologies. - Supported Operating System
- Windows 7
- Windows 2003-Windows XP Windows 2008-Windows
Vista Windows 2008 R2- Windows7
20Installation steps
- The Installation is strait forwards.
21Create a stack trace from a hanging session or
server process
- When session or a server process hangs on
Windows, use one of the following methods to
obtain a stack trace and send it to Informatica
technical support - Determine the process ID (PID) of the hanging
process - Dump the process stack
22Agenda
Determine the process ID (PID) of the hanging
process
4
23Introduction to Process Explorer
- Process Explorer is a lot like Task Manager,
which is the program you access via the following
keys on your keyboard "CTRLALTDELETE". Task
Manager is used to display process information
such as the process name, memory usage and other
application information. However, the information
that Task Manager displays is rather limited
compared to what Process Explorer can show you.
With Process Explorer one can see the entire
process tree for a particular applications, which
consists of all other processes that were started
by the original process, or parent, in the tree. - Process Explorer has many different uses such as
examining what process are active and what
processes are making connections to outside
computers. In this guide I will demonstrate the
kinds of information one can gleam from using
Process Explorer as opposed to using task
manager. - The tool can be downloaded for free from
http//technet.microsoft.com/en-us/sysinternals/bb
896653.aspx
24Determine the process ID (PID)
- Open Process Explorer
- The top window always shows a list of the
currently active processes - Highlight the process. The Services tab of the
process properties dialog shows the list of
services running within a process.
25Names of the PowerCenter, Data Quality and Data
Explorer processes on Windows
- When PowerCenter node is started up, you should
see the below Tomcat Processes - infasvcs.exe
- Java.exe
- If you start Informatica service from command
line, then you may not see infasvcs.exe in the
list. - pmserver.exe
- This is the process for Integration Service
- pmrepagent.exe
- This is the process for Repository Agent, will
show when Repository Service has started up. - pmdtm.exe
- This is the session process started by the
Integration Service.
26Names of the PowerCenter, Data Quality and Data
Explorer processes on Windows
- Data Explorer
- If you are using Data Explorer you will see the
following processes - Idelistener.exe
- Ide_server.exe
- Data Quality
- When Data Quality Server is running, you should
see the following process from Task Manager - ImplRepo_Service
- Naming_Service
- ImR_Activator
27Agenda
Dump the process stack
5
28Using Debug Diag
- Open Debug Diag and add a crash rule.
- Select Crash
29Select the process ID
- Select Target Type as A specific process
- Select the process ID (Where PID is the process
id obtained in the first step) and check This
process instance only - Configure the following next parameters
30Create a Rule
- Add an event for Child Process Exit and set the
Action Type to Full Userdump - 9.Save and close.
- Click Next gt Finish
31Achievements
- Following is achieved after performing the steps
above - The Child process in this context is the process
being debugged (pmserver), not its children. - When the debugged process exits, debug diag
collects the full user dump. - Run crash analysis on the dump and collect the
stack of the process during the time of its exit. - Core dump analysis can also be performed on the
full user dump if required (space consuming)
32Crash/Hang Analyzers
- If a crash occurs, open the Debug Diag and do as
follows - Click on Advanced Analysis
- Click on Add Data Files
- Browse to the location for the datafiles, and
click Open - Once you have selected the datafile for the dump,
click Start Analysis and send the report to
Global Customer Support (GCS).
33Crash/Hang Analyzers
- You can also right click the dump created dump
file - Start Analysis and send the report to Global
Customer Support (GCS).
34Using dump file generated by Dr Watson
- Dr. Watson ( drwtsn32.exe ) is a default
component of the Windows operating system.
35Crash/Hang Analyzers (from Dr Watson)
- Once you have selected the datafile for th dump,
click Start Analysis and send the report to
Global Customer Support (GCS).
36java.lang.OutOfMemoryError Java heap space
- When a Java program starts, the Java Virtual
Machine (JVM) gets some memory from the operating
system. The JVM uses this memory for all its
needs and part of this memory is called Java heap
memory. When a Java application needs memory, the
Java application gets it from Java Heap Space and
when the object ceases to exist (garbage
collected), the memory returns to Java Heap
Space. - When JVM starts, JVM heap space is the initial
size of Heap specified by the -Xms parameter. As
the application progresses, objects are created
and JVM expands Heap space in Java to accommodate
new objects. JVM also runs garbage collector to
reclaim memory back from objects that cease to
exist. JVM expands Heap in Java close to the
Maximum Heap Size specified by -Xmx and if there
is no memory left for creating new objects in
Java heap, JVM results in "java.lang.outofmemoryer
ror" and the application ends. - The default Heap size in Java is 128 MB. You can
increase the size of Java Heap space based on
what the Java application needs. To increase the
Java heap space, use the parameters Xms (denotes
starting size of Heap) and Xmx (denotes maximum
size of Heap in Java).
37ANNEX
38Many Thanks for you time today!