z/TPF

z/TPF

z/TPF

The z/TPF group is dedicated to sharing news, knowledge, and insights about the z/TPF product family. Consisting of IBMers and users, this community collaborates to advance the potential of high-volume, high-throughput transaction technology.

 View Only

Improve TPF Operations Server message processing (APAR IT27988)

By Lap Yan Lau posted 11/09/21 10:19 AM

  
The TPF Operations Server internal buffer is changed to improve message forwarding from the z/TPF host to the clients.

Before this APAR, when a TPF Operations Server client connected to the server, the server allocated a 128 KB (default) buffer for forwarding messages from the z/TPF host to that client. However, the internal buffer sometimes got full if a client was slow to process the messages during high message traffic. The server waited for the slow client to remove the messages before the server added a new message to the internal buffer for that client. This caused delays when the server sent z/TPF messages to other clients and when the server read messages from the z/TPF host. The server might temporarily stop receiving messages from the host if the slow client could not process the messages. Eventually, the z/TPF system was unable to write messages to the TPF Operations Server and was forced to perform a console fallback.

With APAR IT27988, the TPF Operations Server internal buffer can grow dynamically to handle the high message traffic and shrink when the memory is not needed. The buffer can grow to enable the server to store a burst of messages from the z/TPF system. This provides more time for the slow clients to process their messages, and can reduce the slowdown on other TPF Operations Server clients and the host interface.

This APAR also introduces a new option for the application to specify whether a terminal address (TA) is critical. The critical TAs are clients that must receive all of their messages, such as prime CRAS, message logging and automation (RAVEN), because losing any messages affects the daily operation. The noncritical TAs are the clients that can lose messages without impacting their operations. To define a TA as noncritical, add the statement "connection.criticalTA=false" in the session configuration file (.conf). If the statement "connection.criticalTA=true" is added or the connection.criticalTA option is omitted, the TA is critical.

The default internal buffer size of the noncritical TA is 128 KB. When a noncritical TA buffer is full, the TPF Operations Server sends a warning to that client and drops the message. After the noncritical TA buffer size is below 25% of its buffer size, the TPF Operations Server resumes streaming the messages and indicates the number of messages that were dropped. The default buffer size of the critical TA is 20 MB. If a critical TA buffer is full, the TPF Operations Server is blocked until its buffer is no longer full. The server also temporarily stops processing client and host messages. If this situation is prolonged, the z/TPF console might fall back.

After you install this APAR, if you want to run your TPF Operations Server C++ or Java API programs as noncritical TAs (connection.criticalTA=false), recompile TPF Operations Server API programs (etoscpp.lib and TOSApi.jar). Otherwise, the current API programs run as critical TAs.

For more detail about IT27988, see the APEDIT
0 comments
14 views

Permalink