Table of Contents

Search

  1. Preface
  2. Part 1: Introduction
  3. Part 2: PowerExchange Client for PowerCenter (PWXPC)
  4. Part 3: PowerExchange ODBC
  5. Appendix A: PowerExchange Interfaces for PowerCenter Tips
  6. Appendix B: Datatypes and Code Pages
  7. Appendix C: PowerExchange Interfaces for PowerCenter Troubleshooting

PowerExchange Interfaces for PowerCenter

PowerExchange Interfaces for PowerCenter

Configuring Idle Time

Configuring Idle Time

The following table describes the optional
Idle Time
connection attribute:
Connection Attribute
Change or Real Time
Description
Idle Time
Real Time
Specifies the number of seconds the PowerExchange Listener remains idle after reaching the end of the change log, as indicated by message PWX-09967, before returning an end-of-file (EOF).
Valid values:
-1
. The EOF is never returned. The session runs continuously.
0
. The EOF is returned at the end of log. The session ends successfully.
n
. The EOF is returned after no data is received for specified number of seconds. The session ends.
Default is -1.
Use the
Idle Time
terminating condition to indicate whether a real-time session should run continuously or shut down after a specified period of time.
The
Idle Time
timer starts when the PowerExchange Listener begins reading change data for the sources.
If you enter -1 for
Idle Time
, PowerExchange never returns an EOF to the PowerCenter Integration Server, which causes the session to run continuously. Typically, the default value of -1 is used for real-time sessions.
You can stop continuous extraction sessions by issuing the PowerCenter Workflow Monitor Stop or Abort command, the
pmcmd
commands to stop and abort tasks and workflows, or the PowerExchange STOPTASK command.
  • Stopping the session or workflow with the PowerCenter Workflow Monitor or the
    pmcmd
    stop task commands is a normal termination. PowerCenter performs a graceful stop after the CDC reader and the writers process all of the data in the pipeline and shutdown.
  • Aborting the session or workflow with the PowerCenter Workflow Monitor or the
    pmcmd abort task
    command is an abnormal termination. PowerCenter does not wait for the CDC reader and the writers to shut down or to process all of the data in the pipeline.
  • The PowerExchange STOPTASK command stops the extraction task in the PowerExchange Listener and passes an EOF to the Integration Service, which then ends the session successfully.
In the session properties, verify that the
Commit Type
property specifies
Source
and that the
Commit at End of File
property is disabled. By default, the
Commit at End of File
property is enabled. This property causes data to be committed after the CDC reader commits the restart tokens and shuts down, which results in duplicate data being sent to the targets when the session is restarted.
If you enter 0 for
Idle Time
, PowerExchange returns an EOF to the PowerCenter Integration Service when the end-of-log (EOL) is reached. After the EOF is received, the PowerCenter Integration Service terminates the session successfully, which includes committing all of the data and updating the restart token file. The EOL is determined by what was the current end of the change stream at the point that PowerExchange started to read the change stream. This concept of EOL is required because the change stream is generally not static so the actual EOL is continually moving forward. PowerExchange issues the following message when the EOL is reached:
PWX-09967 CAPI i/f: End of log for time
yy/mm/dd
hh:mm:ss
reached
For example, if a session starts reading a change stream at 10:00 a.m., the EOL at that point is determined. After PowerExchange reaches that point in the change stream, it will return EOF to the Integration Service. This means that changes recorded in the change stream after 10:00 a.m. will not be processed. Specifying 0 for Idle time is a useful in situations where you want to extract change data for sources periodically as opposed to continuously.
If you enter a positive number for
Idle Time
, the session runs until no data is returned for the period of time specified. After the
Idle Time
limit is reached, PowerExchange send an EOF to the PowerCenter Integration Service and the session terminates successfully. Specifying a low value for
Idle Time
, such as 1, can result in this time being reached before all available data in the change stream has been read.
The following message is issued when the
Idle Time
limit has been reached:
[PWXPC_10072] [INFO] [CDCDispatcher] session ended after waiting for [
idle_time
] seconds. Idle Time limit is reached
This message is also issued when a continuous extraction is stopped with the PowerExchange STOPTASK command. In this case, the
idle_time
variable in the message reports 86400, which is the “never expire” time limit that is used when an
Idle Time
value of -1 is specified.
On very active systems, a positive value for
Idle Time
might never match. Use 0 if you do not want the session to run continuously.
For example, if you specify an
Idle Time
value of 10 seconds and PowerExchange finds no data for the sources in the change stream for a 10-second period, PowerExchange returns an EOF to the PowerCenter Integration Service, which causes the session to terminate successfully.
If you specify values for
Reader Time Limit
and
Idle Time
, the PowerCenter Integration Service stops reading data from the source when one of these terminating conditions is reached, whichever one is reached first. If the
Reader Time Limit
is reached prior to the
Idle Time
limit, the session stops at that point, even though the
Idle Time
limit has not yet been met.
Reader Time Limit does not result in normal termination of a CDC session. Use Idle Time instead of Reader Time Limit.

0 COMMENTS

We’d like to hear from you!