+

Search Tips   |   Advanced Search

Compensation service settings

Manage the compensation service. The compensation service supports server-level configuration for compensation enablement and logging.

From the admin console, click...

        Servers > Server Types > WebSphere application servers > server > [Container Settings] Container Services > Compensation service.


Enable service at server startup

Specifies whether the application server attempts to start the compensation service when the server next starts up.

Information Value
Default Selected
Range

Selected

When the application server starts, it attempts to start the compensation service automatically.

Cleared

The server does not try to start the compensation service. If compensation is used in applications that run on this server, the system administrator must start the service manually or select this property and then restart the server.


Recovery log directory

Directory path that, if set, overrides the location where the compensation service stores log files for recovery of this server.

A blank value in the server configuration is expanded by the compensation service at startup as the directory profile_root/recoveryLogs/cell/node/server/compensation. The variable profile_root is the home directory for the WAS profile used for the server.

When compensation is used, the WebSphere product stores information needed to perform compensation after a system failure on a physical storage device. In a higher application load, this persistence slows down performance of the application server because the application server is dependent on the operating system and the underlying storage systems.

To achieve better performance, move the compensation log files to a storage device with more physical disk drives, or preferably Redundant Array of Independent Disks (RAID) disk drives. When the log files are moved to the file systems on the RAID disks, the task of writing data to the physical media is shared across the multiple disk drives. This sharing provides more concurrent access to make compensation information persistent and provides faster access to that data from the logs. Depending upon the design of the application and storage subsystem, typical performance gains can be 10% to 100% or greater.

This change applies only to the configuration where the application has compensation configured. Consider setting this property when the application server shows one or more of following signs:

In a high availability (HA) environment, each server in a cluster must have a unique compensation log and transaction log directory, so that multiple servers do not attempt to access the same log file. Also, each server in the cluster must be able to access the transaction and compensation log directories of the other servers in the cluster.

Information Value
Data type String
Default profile_root/recoveryLogs/cell/node/server/compensation

Where profile_root is the home directory for the WAS profile used for the server.

Recommended Create a file system with at least 3 to 4 disk drives grouped together in a RAID-0 configuration. Create the compensation log on this file system with the default size. When the server is running under load, check the disk input and output. If the disk input and output time is more then 5%, consider adding more physical disks to lower the value. If the disk input and output is low, but the server load is still high, consider increasing the size of the log files.


Recovery Log File Size

Maximum megabyte (MB) size of the recovery log file that the compensation service uses for recovery data. The default is 5 megabytes.

The amount of data logged by the compensation service is influenced by the number of concurrently-active applications that use compensation, and the size of the application data provided as input to the compensation logic.

The compensation service reserves space on a physical storage device at server start for compensation recovery data. If this size is not enough for active compensation data, the log files grow dynamically until they reach the maximum size that this value specifies.

Information Value
Data type Integer
Units Megabytes
Default 5
Range 1 through 2147483647 megabytes

Although the allowed range for Recovery Log File Size is 1 through 2147483647, the maximum size that is actually possible depends on the maximum size allowed by the operating system for a mapped file.


Compensation handler retry limit

Maximum number of times that the compensation service retries a compensation handler.

This value specifies the number of times that the compensation service calls the CompensationHandler methods compensate() and close(). Each time that the compensation handler is retried, the Compensation handler retry interval doubles.

Set this value to -1 to retry the compensate() and close() methods indefinitely. Set the value to 0 to never retry either method.

Information Value
Data type Integer
Default -1
Range -1 or above


Compensation handler retry interval

Time interval, in seconds, that the compensation service waits before retrying a compensation handler. Each time that the compensation handler is retried, the interval doubles.

The compensation service retries a compensation handler by recalling the CompensationHandler methods compensate() and close() if either throws a RetryCompensationHanderException.

Information Value
Data type Integer
Units Seconds
Default 30
Range 0 or above


Additional Properties

Under Additional Properties we can click the Custom properties link to display or change custom properties for our WAS compensation service.

For example, we can use this option to configure a custom property which processes a predefined list of Enterprise Java Beans for which no CoordinationContext should be sent on web service requests. To find out more about compensation service custom properties, see the related link.

  • Configure a server to use business activity support

    (iSeries) (Dist) Storing and restoring transaction and compensation logs for high availability

  • Compensation service custom properties
  • Transaction service settings