Tmax 5 SP1 Fix#4
This chapter briefly describes newly added features and bug fixes included in Tmax 5 SP1 Fix #4. For detailed information, refer to the relevant guide.
1. Added features
This section describes the added features.
1.1. Engine
-
Provides stub libraries for static and dynamic registration for DB2 9.0 and later.
-
Additional libraries are provided to support static registration and dynamic registration methods for DB2 9.0 and later.
-
Existing LIB DB 8.0 or lower DYNAMIC: libdb2s, libdb2_64s
-
Newly provided LIB DB 9.0 or later DYNAMIC: libdb2s_std STATIC: libdb2s_static
-
-
Related issue: IMS 58774, 52352
-
-
Added option to set backlog when listening on TMM unix-domain-socket (2012/04/04)
-
To improve the phenomenon of Tmax process not starting due to lack of resources when restarting or starting additional processes, TMMOPT -B, -F, -A options and -F, -A, -t options dynamic changing features were added.
The TMMOPT options in configuration are:
Option Description -B numeric
Sets the backlog value (default: 1023)
-A numeric
Sets the accept() value to process at once. (Default: 100)
-F numeric
Sets the fork throughput (default: 0.75 times the backlog setting)
-
tmadmin backlog query
Option Description cfgopt -tmm
Checks the tmm backlog settings.
setopt -tmm -F 100
Modifies the tmm backlog.
-
Related issue: IMS 65507
-
1.2. Client/Server
-
Changed behavior when calling a service from within the tpsvrdone function.
-
Before update
When tpcall, tpacall, or tpgetreply is performed within the tpsvrdone function, the CLH schedules the service because the svr is still in the RDY state. At this time, when tpcall or tpgetreply receives a service request, it returns by generating TPESYSTEM, so it cannot perform a response to the actual tpcall or tpgetreply, which may cause a problem.
There are cases where a service on another server is called from within the server termination function (tpsvrdone). When a service on the server where tpsvrdone is running is called, the response from the service called from within tpsvrdone will result in an unknown message type error.
-
After update
In Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, and Tmax 5.0 SP3, in this situation (tpsvrdone), tpcall and tpgetreply are ignored instead of returning an error during the read operation so that they can succeed. In addition, it has been improved to wait until the desired response is received.
-
Related issue: IMS 71175, 61897
-
-
tpadvertise() / tpunadvertise() function enhancements
-
Before update
tpadvertise and tpunadvertise only target services registered in the environment settings.
-
After update
Supplemented the ability to register/deregister services registered with mksvr and newly registered services through tpadvertise.
-
svrlib’s tpadvertise
-
When performing tpadvertise on a service registered in the environment settings file (config.m)
-
If tpunadvertise was performed, it will be changed to a serviceable state again.
-
Failure handling when running tpadvertise on another server
-
-
When performing tpadvertise on a service registered with mksvr
-
If tpunadvertise was performed, it will be changed to a serviceable state again.
-
Failed to run tpadvertise on another server\
-
When all server processes are terminated, the tpadvertised services are automatically deleted as well.
-
-
When performing tpadvertise on a newly registered service by tpadvertise
-
Register a new service
-
If tpunadvertise was performed, it will be changed to a serviceable state again.
-
Failure handling when running tpadvertise on another server
-
When all server processes are terminated, the tpadvertised services are automatically deleted as well.
-
-
-
svrlib’s tpunadvertise
-
When performing tpunadvertise on a service registered in the environment settings file (config.m)
-
The state changes to UNADV, and TPENOENT is set in tperrno when calling the service.
-
-
When performing tpunadvertise on a service registered with mksvr
-
The state changes to UNADV, and TPENOENT is set in tperrno when calling the service.
-
When all servers shut down, the service itself disappears. When performing tpunadvertise on a newly registered service by tpadvertise
-
The state changes to UNADV, and TPENOENT is set in tperrno when calling the service.
-
When all servers are shut down, the service itself disappears.
-
-
-
Restrictions
-
When running tpadvertise on a service that is not set up, mksvr will act as a process that dynamically registers the service.
-
SVCTIMEOUT and AUTOTRAN cannot be set.
-
-
Added log
-
If tpadvertise has already been performed on another server, it will output the following to slog:
SVR3041 fail to tpadvertise: svc(%1) in svr(%2:%3), mysvri(%4)
Setting Description 1
The name of the service to tpadvertise
2
Already registered server name
3
Index of already registered servers
4
Index of the server that ran tpadvertise
TMM3041 fail reg svc (%1, %2, %3, %4) not equal svri(%5)
Setting Description 1
Name of the service to register
2
Service Index
3
Index of already registered servers
4
Index of server group
5
Index of the requested server
-
SVCTIMEOUT and AUTOTRAN cannot be set.
-
-
Added tperrno if tpadvertise fails
tperrno Description TPELIMIT
No new services can be registered due to a limit on the number of services on the node.
TPEMATCH
The service has already been registered but the function is different.
This occurs when the service is already registered on another server.
-
-
Related issue: IMS 71318
-
-
Added the ability to monitor SERVER stat information using TIP.
-
You can query SERVER stat information by specifying SVR or SERVER in TIP_SECTION.
-
Related issue: IMS 80456
-
-
Support for RQ function tmaxgw/tmaxgwmt
-
Added RQ API to tmaxgw/tmaxgwmt library.
-
-
Added a function to receive responses directly from tpgetrply without calling a response processing callback when using tpacall (2012/04/04)
-
In UCS, you can use the tpregcb function to register a callback function that handles the response from tpacall.
-
In ucsmain() and tpsvctimeout(), the only way to handle tpacall’s response was to call the Callback function. To improve this, we added an interface that allows tpacall to process the TPNOCALLBACK flag in tpgetreply instead of the Callback function.
-
1.3. Management tools
-
Added an option to check the elapsed scheduling time of a server process in RUN status in tmadmin.
-
If you run st -p -d, the elapsed time is displayed as '-' if it is in RUN status, and any other time is displayed as '-'.
-
If it is a non-blocking type gateway, it is displayed as '-' even if it is RUN.
-
Must be used with st -p and cannot be used with st -p -x.
-
Related issue: IMS 44140
-
-
Added the ability to display a single line in the console when executing tmadmin st -p
-
A feature has been added to display multiple lines per process on the console using the tmadmin st -p -x or -p -d option, allowing the display to be done on a single line.
-
How to use
$$1 tmaxs7 (tmadm): st -p -j --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc --------------------------------------------------------------------------- svr2s svg1 9 RDY 0 0.000 -1 --------------------------------------------------------------------------- $$2 tmaxs7 (tmadm): st -p -x -j --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time utime umin_time umax_time stime smin_time smax_time --------------------------------------------------------------------------- svr2s svg1 9 RDY 0 0.000 -1 27120 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 --------------------------------------------------------------------------- $$3 tmaxs7 (tmadm): st -p -d -j --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID scheduled --------------------------------------------------------------------------- svr2s svg1 9 RDY 0 0.000 -1 27120 - --------------------------------------------------------------------------- $$4 tmaxs7 (tmadm): st -p -x -d -j --------------------------------------------------------------------------- svr_name svgname spr_no status count avg svc PID fail_cnt err_cnt min_time max_time utime umin_time umax_time stime smin_time smax_time PID scheduled --------------------------------------------------------------------------- svr2s svg1 9 RDY 0 0.000 -1 27120 0 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 27120 - ---------------------------------------------------------------------------
-
Related issue: IMS 83120
-
-
Added a function to check the maximum number of users that can connect to clh
-
In tmadmin, a function was added to output the following in the tmaxinfo(ti) and cfg -n commands.
-
How to use
$$1 tmaxs7 (tmadm): ti Supported maximum user per node = 12067, Supported maximum user per handler = 12067, $$2 tmaxs7 (tmadm): cfg -n Supported maximum user per node = 12067, Supported maximum user per handler = 12067,
-
Related issue: IMS 70872
-
-
Added the multi-node autobackup dynamic change feature
-
How to use
Run the tmadmin utility. Specify the target node by setting the -n option.
$ tmadmin -m -n nodename
Change the settings using the set command. The setting values can be N or Y. Specifying N disables the autobackup function.
> set -n nodename autobackup N > set -n nodename ab N > set -n nodename autobackup Y > set -n nodename ab Y
-
Related issue: IMS 65528
-
-
Added the tmadmin qpurge count adjustment feature (2012/04/04)
The [-k Num] option has been added to tmadmin’s qpurge(qp) option.
-
How to use
qp -v svr2 [-k Num]
Num can be set as follows:
Input value Description -1
Among the service requests currently waiting in the queue, only MAXQCOUNT number of requests are left and the requests that come in after that are purged.
0
Purges all service requests currently waiting in the queue.
N (>0)
Purges all subsequent requests, leaving only the first N gcount requests. This option must be used with the –v option.
-
Related issue: IMS 64072
-
-
Improved functionality to also output maxrstart values for tmadmin cfg -n, -g (2012/04/04)
-
Previously, only cfg -v (server information) output the maxrstart value, but through functional enhancements, cfg -n (node information) and -g (server group information) also output the restart, maxrstart, and gperiod values, respectively. However, these items cannot be dynamically changed.
-
Related issue: IMS 67759
-
1.4. UTIL
-
Added the tmapm function
-
TMAPM is a module that terminates a service when the service timeout period has elapsed when signal alarms are not used or are not convenient. For detailed usage instructions, refer to Tmax Reference Guide.
-
How to use
*SERVER tmapm CLOPT = [ -i sec ] [-r sec ] [-c command ] [-l [0 | 1 | 2 ] ]
-
Related issue: IMS 67358
-
-
Improved the tmadmin execution structure through RACD
-
Previously, only one remote tmadmin could be launched via RACD. Therefore, if a user launched tmadmin locally and then launched it again in main mode via tmadmin -m, tmadmin -m could not be launched remotely because tmadmin was already launched.
-
In Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, and Tmax 5.0 SP3, the remote tmadmin that can be started by RACD has been modified to allow two options: tmadmin and tmadmin -m.
-
Related issue: IMS 68751
-
-
Added the tmd -l option
-
When running the existing tmd, the line receiving data was limited to 1024 bytes. A function was added to allow the user to set the size to the maximum data size desired.
-
Example
$ tmd -i test.64000 -l 64003
-
Related issue: IMS 73033
-
-
OPENINFO encryption/decryption via CFL
A method of encrypting plain text using a tool (tencrypt) that encrypts the entire OPENINFO section and writing it to the configuration file was added.
-
After inserting the encrypted result with the tencrypt tool into the environment file, cfl is executed.
-
Related issue: IMS 65690,71378
-
-
Added the -y option to terminate tmdown immediately without asking y|n when running.
-
Added a feature to terminate tmdown immediately without asking whether to terminate. Can also be used with the -i option.
-
Example
$ tmdown -y
-
Related issue: IMS 69697
-
-
Added the -i option when running tmboot -g svrgroup
-
When running tmboot -g, the entire process will stop if a server reaches the max value while booting servers. When used with tmboot -g -i, the entire process will not stop even if a server reaches the max value, and the next server can be booted.
-
Example
$ tmboot -i -g svg1
-
Related issue: IMS 72610
-
-
Added the cfl -x option
-
When performing cfl, the -x option was added to check whether the server or service name exists when using the -x option of the TARGET and CLOPT of the SERVER section settings.
-
Added error messages
-
When a server name that is not declared in the environment file is set in the TARGET setting of the SERVER section
"CFL3184 line %d(line at which server was declared): invalid target server name %s(server name specified in TARGET)"
-
When the -x option is set to a service name that is not declared in the environment file in the CLOPT setting of the SERVICE section.
"CFL3183 line %d(line at which server was declared): invalid service name %s(service name set using -x)"
-
-
Related issue: IMS 75628
-
1.5. TDL
-
Added a feature to the tdlshm utility to output the number of comparisons when searching by hash collision for each module.
-
How to use
$ tdlshm -I <minimum conflict count>
-
Related issue: IMS 66958
-
-
Added the tdlupdate -l option (2012/04/04)
-
For tdlupdate, the limit on the number of modules that can be updated simultaneously is lifted.
-
Related issue: IMS 81744
-
For more information about the TDL utility, refer to Tmax Programming Guide (Dynamic Library). |
1.6. Tuxedo Gateway
-
Added the Tuxedo Gateway COUSIN IRT feature
-
Added functionality to allow normal scheduling even in case of channel failure when Tuxedo Gateway is set to COUSIN.
-
CLOPT: It works only when the "-l" setting is set.
-
Related issue: IMS 75505
-
-
RGWPORTNO duplicates allowed
-
Related issue: IMS 50725
-
-
Added the -c / -C option to check channel alive in TUXEDO, TUXEDO_ASYNC Gateway
-
Added -c time(sec) / -C svcname settings to CLOPT
If there are no incoming requests or responses from TUXEDO, the service specified by the -C option is called periodically. If not specified, the service named "dus$%@tjq" is called.
If there is no response or request from tuxedo after "time set with -c*2", the connection is considered to be closed and the connection is terminated.
Below is the content of the slog when the connection is terminated.
(E) GATEWAY2062 remote gateway closed: 192.168.1.43 [TUXGW0307] (E) GATEWAY3030 failed to check rgw alive: rgw closed [TUXGW0027]
-
Related issue: IMS 76714
-
-
Added the -h option
-
When setting up multiple local gateways in Tuxedo, each gateway attempts to connect to the remote one, so Tmax’s Tuxgw generates the following message for the second connection attempt after one connection is established.
(E) GATEWAY3010 connection error from remote gateway [TUXGW0002]
-
When the -h option is applied, an option is added to prevent the above message from being printed.
-
Related issue: IMS 47268
-
1.7. Domain Gateway
-
Changed the connection method of the domain gateway (TMAXNONTX) to non-blocking.
-
When a gateway blocks a remote connection, the connection may not be completed properly due to the remote machine being down (OS down) or network issues. In this case, requests sent to the gateway do not receive an immediate failure response, but rather wait until the specified timeout period to receive a response, resulting in a long response time and problems.
-
In order to resolve this issue, Tmax 5.0 SP1 Fix4 changed the connection to Non-blocking and improved the function so that responses can be sent without delay even in the above-mentioned failures.
-
Tmax 5.0 SP1 Fix4 and Tmax 4.0 SP3 Fix11 only changed the gateway of the TMAXNONTX type, while Tmax 5.0 SP2 changed both the TMAX and TMAXNONTX types.
-
Related issue: IMS 73282, 72649
-
-
Added the -n option to tmaxgwnt to set the number of channels between gateways to 1.
-
The number of channels between existing gateways was fixed at 2. This meant that when message 1 was sent first through channel 1 and message 2 was sent later through channel 2 through GW1, a situation could occur where message 2 arrived first and was processed by GW2.
To prevent this, in Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, and Tmax 5.0 SP3, the -n option was added to the CLOPT of the GATEWAY section in the configuration file, which sets the number of channels between gateways to 1. -n does not accept any arguments.
-
Related issue: IMS 70604
-
2. Bug patch
The bugs patched in this version are as follows:
2.1. Engine
Below is the information about the fixed bug in the engine, DYN server is not supported on FD 16384.
-
Fixed an error that prevented TMM connections from being made when configuring 4 or more multi-nodes.
-
The following log is printed in slog, and the phenomenon of nodes not being connected when checking tmmsi with tmadmin has been fixed.
(I) TMM2106 node is closed : 0 2.2.1.22 Sat Jul 14 07:37:13 2012 [TMM0515] (E) TMM3008 possible network layer malfunction, Resetting the network. [TMM0613]
-
-
Related issue:https://ims.tmaxsoft.com/tody/ims/issue/issueView.do?issueId=68089[IMS-68089]
-
Error when running as a dynamic server type
-
The following error has been fixed so that it does not occur when operating as a dynamic server type.
-
Fixed DYN_SVR_TYPE not being considered in tmadmin rbs and restart functions.
-
Fixed the part where DYN_SVR_TYPE was not taken into account when obtaining svr and spri information from snmp.
-
Fixed the part where DYN_SVR_TYPE was not taken into account when obtaining svr and spri information from twagent (Tmax WebAdmin)
-
Fixed not considering DYN_SVR_TYPE when calling spracall from clh (tpspracall function)
-
Fixed svrlib, tmm not considering DYN_SVR_TYPE in chtrc function (chtrc function)
-
Fixed incorrect usage when DYN_SVR_TYPE was used when spri was terminated in tmm (when requesting tmdown via tmadmin API)
-
Fixed DYN_SVR_TYPE not being considered when notifying spri that clh has restarted in tmm (CLH restart or notify_reconnect_clh command)
-
-
Related issue: IMS 82021
-
-
Fixed the issue where requests were not stored in the request queue until service transmission when using RQS tpenq_ctl deq_time.
-
When an RQS failure occurs, the problem of successful tpenq_ctl() messages being lost because they are not on the disk and the problem of the number of messages stored in the request queue not being reflected when querying rqstat() have been fixed.
-
Related issue: IMS 83488
-
-
Fixed an error message that occurred when tmdown was abnormally terminated.
-
The following error has been fixed so that it does not occur when tmdown terminates abnormally.
(E) SVR0209 internal error : invalid msg type 1108 [SVR0029]
-
Related issue: IMS 46969
-
-
Fixed the issue where tmadmin’s st -p count did not increase in the case of tpforward.
-
When making a tpcall using a non-TX domain gateway, if the other party responds with tpforward instead of tpreturn, the gateway’s count does not increase if the service performing the tpforward is the domain that was the first caller. Previously, count, svctime, fail_count, and error_count were increased only when a response was received.
-
The following fixes were made in Tmax 4.0 SP3 Fix11, Tmax 5.0 SP1 Fix4, and Tmax 5.0 SP2.
-
When an Async type gateway (TMAXNONTX, TOPEND_STDGW, JEUS_ASYNC, TUXEDO_ASYNC) schedules, the COUNT of the spr’s gateway increases.
-
When receiving a response through a gateway, the gateway’s svctime, fail_count, and error_count are increased. When receiving via tpforward, these values are not increased.
-
When scheduling with a gateway, it is always in RDY state.
-
-
Related issue: IMS 49974
-
-
STD_DYN server does not terminate when executing tmdown -g
-
Fixed the issue where the STD_DYN server would not terminate when performing tmdown -g.
-
Related issue: IMS 80748
-
-
Improved restart count reset function when timeout is restarted
-
Fixed the issue where the restart count was not initialized even after GPERIOD when restarting with a timeout on a server with the -r option applied.
-
Related issue: IMS 62481
-
-
Patch for the phenomenon where the backup server of the backup node starts up during tmdown.
-
When the active node and backup node are restarted together, if the backup node is restarted while the active node is not yet shut down, the backup node recognizes the shutdown of the active node as an abnormal shutdown and starts the server. This phenomenon has been corrected so that when a node that is shutting down normally (tmdown) receives a connection attempt from another node, it establishes a connection and then immediately disconnects it.
-
Related issue: IMS 68089
-
-
Fixed the restart issue when a process is abnormally terminated during tmdown -s svr.
-
When shutting down a server with tmdown -S svrname, if the server is terminated abnormally, tmm restarts it even though it is shutting down, leaving an error message saying '(E) TMM2108 register request from server(svr2) error: SVR_DOWN_REQUESTED [TMM0156]'. In situations like this, the server’s down status has been checked and a restart has been prevented.
-
Related issue: IMS 70994
-
-
Fixed abnormal CLH termination issue
-
Fixed the issue where clh would terminate abnormally when performing conversation mode with a dynamic server.
-
Related issue: IMS 72946
-
-
Improved performance of loop check in seconds after evt_wait in eclh and etmm
-
Performance of routines that consume a lot of CPU resources has been improved in CLH with event-driven architecture.
-
Related issue: IMS 75301
-
-
When performing tpforward on a server and tpreturn on another server, CLH abnormal termination occurs randomly.
-
This issue was fixed because it occurred when trying to reference free memory when processing tpreturn for tpforward in CLH.
-
Related issue: IMS 75301
-
-
Fixed an error that prevented IRT operations from being performed when calling COUSIN SVC on a node without a COUSIN setting.
-
When a node does not have a COUSIN setting and G/W is included in COUSIN, the malfunction of COUSIN SVC requests always asking the G/W whose connection was terminated after the G/W connection was terminated has been corrected so that the G/W whose connection was terminated is asked once and not sent from the next time.
-
Related issue: IMS 73010, 76197
-
-
Fixed the issue where tmms could not connect to each other when composed of 4 or more nodes.
-
When Tmax is composed of 4 or more nodes, if 2 out of nodes 1, 2, 3, and 4 are not booted, the problem of nodes 3 and 4 not being able to connect to each other has been fixed.
-
Related issue: IMS 76822
-
-
Fixed abnormal behavior when calling tpsend on multi-node
-
Fixed the issue where calling tpsend after calling tpconnect from a service on the local node to a service on another node would result in the error '(E) CLI 3039 internal error: unknown message type:2006 [CSC5713]'.
-
Related issue: IMS 77055
-
-
Fixed the issue where clh would terminate abnormally when tpcall was made on another server after a transaction was started on a server of type STD_DYN.
-
The phenomenon of CLH abnormally terminating when a transaction is started with tx_begin() on a server of type STD_DYN, a general server is requested with tpcall(), and the general server is requested with tpcall() on the requested server has been fixed.
-
Related issue: IMS 65387
-
-
Fixed an error that would cause clients to receive a TPERDOWN when encountering an XA Cousin svg failure.
-
In an environment where a domain consists of three nodes and only two of the nodes have XA svgs configured as COUSIN (LOAD=-2), when a client connected to a node that is not configured as COUSIN calls a service in the server group, if one (or all) of the svgs configured as COUSIN are down, the tpcall on the client fails and the error of setting tperrno to TPERDOWN has been fixed to set it to TPENOREADY.
-
Related issue: IMS 44505
-
-
Added an option to limit the number of processes that can connect to the CLH simultaneously.
-
When CLH restarts, processes that need to connect to CLH attempt to connect simultaneously. This attempt uses a lock to connect, which can cause temporary blocking even on servers that were previously functioning properly. To improve this, the TMMOPT -r and -k options were added.
-
The TMMOPT options in configuration are:
Option Description -r
The interval between reconnection requests to processes that have not yet requested a reconnection after a reconnection notification (in seconds).
-k
The number of processes simultaneously sending reconnection requests to CLH.
-
Related issue: IMS 66319
-
-
Changed the write retry behavior for other processes in TMM
-
Previously, when TMM continuously attempted to write a message sent to tmdown before tmdown read all of it, it was considered a failure if it tried more than a certain number of times (500). If the write failed, the tmdown process ended normally in a single node, but in a multi-node system, the tmdown process was completed only on the local node and the tmdown process was not executed on the remote side. To resolve this issue, the number of write attempts was changed to increase only after at least 1 second had passed so that it would not fail even if many write retries occurred at once in a short period of time.
TMM not_tproc_ready: ind = 2003, fd = 2008, w_trycnt = 500 TMM2084 trying to write to tproc is blocked: tproc (DOWN) closed and data dropped [TMM0022]
-
Related issue: IMS 67087
-
-
Fixed the issue where clh connection was terminated when using AnyLink.
-
There is logic in the AnyLink server that responds twice to one request, but clh was written without considering the corresponding case, so this phenomenon occurred and was modified to work normally.
-
Related issue: IMS 72015
-
-
Fixed the issue where tmm would terminate abnormally during tmdown -i.
-
In a situation where there are many servers that are restarted due to abnormal termination, and many servers are started by ASQCOUNT, the phenomenon of tmm being abnormally terminated when terminated with tmdown -i has been fixed.
-
Related issue: IMS 75782
-
-
Fixed the issue where rollback occurred twice when the server was abnormally terminated during 2pc processing.
-
If there are XA servers svr_xa1 and svr_xa2, and after tx_begin from svr_xa1, tpcall is called to svr_xa2, and then svr_xa1 is terminated with kill, xa_rollback is performed with an xid other than the xid that was xa_started, and this occurs when svr or svc is not set to AUTOTRAN. This is a side effect that occurred when adding the old version AUTOTRAN compatibility patch function.
-
Related issue: IMS 76716
-
-
Fixed the tmm swap memory increase phenomenon
-
When TMAX_TRACE is set, SVCTIME is 1, and the load is high, the server sends trace logs to tmm before and after performing a service, but the processing is delayed, causing SVCTIMEOUT. When requesting error messages to tmm, the messages are mixed, preventing normal processing in tmm and increasing swap memory. This has been fixed.
-
Related issue: IMS 77057
-
-
Fixed the issue of xid 0-0-0 being issued
-
For some unknown reason, xa_start was performed with '0-0-0', which did not have an xid issued, resulting in a Global Transaction inconsistency. Transactions starting with '0-0-0' responded with a failure, so we patched it to handle failures in the caller.
-
The following error code is output:
SVR3042 xid is invalid (0-0-0), svc(%s)
The service name called replaces %s. errno is TPETRAN, usrcode is TX_ESYSTEM.
-
Related issue: IMS 77327
-
-
Fixed the issue where one node’s server would go down/boot when performing tmdown/tmboot options (-g/-S) in an svrgroup with multiple node cousins configured.
-
Related issue: IMS 79295
-
-
Patch for the issue where the server does not shut down completely when shutting down with tmdown -S svrname -i (2012/04/04)
-
Fixed the issue where not all servers would be shut down sequentially when shutting down servers with the tmdown -S svrname -i option in an environment where STD_DYN was mixed.
-
Related issue: IMS 61787
-
-
Patch for abnormal status when performing suspend on STD_DYN and UCS_DYN processes (2012/04/04)
-
Related issue: IMS 63753
-
-
Patch to prevent server process registration even after tmdown is completed when tmboot is in progress (2012/04/04)
-
When tmdown is executed simultaneously with tmboot in progress, the phenomenon of a server process still being alive after Tmax is terminated has been corrected so that the server process is not registered after down is completed.
-
Related issue: IMS 63647
-
-
Patch for clh abnormal termination for DYNSVR transactions (2012/04/04)
-
The phenomenon of CLH abnormally terminating when a transaction is started with tx_begin() on a server of type STD_DYN, then a general server is requested with tpcall(), and the general server is requested with tpcall() on the requested server has been fixed.
-
Related issue: IMS 65387
-
-
Fixed bug in specifying environment variables in envfile in config.m when using tmboot (2012/04/04)
-
The phenomenon of incorrectly recognizing variables when specifying a combination of alphabets, _, and numbers in the evnfile environment variable file in the tmax environment file has been corrected.
-
Related issue: IMS 65389
-
-
Fixed an error that prevented tmdown -p DYNSVR from executing properly (2012/04/04)
-
When trying to terminate a server process of type STD_DYN or UCS_DYN with tmdown -p, it has been modified to work normally.
-
-
Fixed the issue where tpcall messages were not received from 5.x clients when 3.x and 5.x clients were mixed while using an RDP server (2012/04/04)
-
When using RDP and clients of version 3.x and 5.x are mixed, the 3.x client connects first, then the 5.x client. In this state, if a tpbroadcast occurs in a specific application, the issue where the 5.x client does not receive the message when making a tpcall has been fixed.
-
Related issue: IMS 67971
-
-
Fixed the CLH hang issue occurring after performing cfgadd function (2012/04/04)
-
The issue where CLH hangs when adding a server with the cfgadd command in a multi-node environment, preventing requests from clients or servers from being processed properly, has been fixed.
-
Related issue: IMS 63760
-
-
Fixed a bug in the tmm fork control function, where ASQCOUNT startup requests were canceled when processing was delayed (2012/04/04)
-
When processing a startup request by ASQCOUNT in tmm, if the number of processes processing an existing fork reaches the threshold set in the -F option and the fork for the request is delayed, the startup is canceled by the logic that checks whether the cur value has reached max when resuming the subsequent fork. This has been fixed.
The bug in the tmm fork control function, the phenomenon in which the ASQCOUNT startup request was canceled when delayed, and the phenomenon in which the TMM3033 "svr (svrname) booting time (10) is over" error occurred after a certain period of time, causing cur to reach max but the actual number of started processes to be less than cur, were fixed.
-
Related issue: IMS 65847
-
-
Fixed tmm abnormal termination issue while transferring dynamically added service list to mksvr of general server group when tmbooting (2012/04/04)
-
The issue where tmm would terminate abnormally when tmbooting only a specific node in a multi-node environment was fixed when there was a server containing a dynamically added service that did not exist in the environment settings written with mksvr and the server was configured not to belong to the COUSIN group (either a single server group or a backup server group).
-
Related issue: IMS 68699
-
-
Fixed the issue where the server would restart when exiting with tmdown -S after pressing <Ctrl>+C during tmdown -S (2012/04/04)
-
The phenomenon of tmdown hanging when stopping the server with tmdown -S, stopping it with <Ctrl>+C, and then shutting down the server with tmdown -s again has been fixed.
-
Related issue: IMS 68737
-
-
Bug where the engine does not terminate when exiting with tmdown -i after pressing <Ctrl>+C during tmdown (2012/04/04)
-
The issue where only tmm and APs would terminate and the remaining engines would not terminate when tmdown was stopped with <Ctrl>+C and then terminated with tmdown -i was fixed.
-
Related issue: IMS 68742
-
2.2. Client/Server
-
Supplemented TCS to leave svclog at least 5 minutes later
-
To address the phenomenon where svclog on the TCS server could remain for 5 minutes when there is a service request, the system has modified the system to send svclog to TMM every 5 minutes.
-
Related issue: IMS 56485, 69246
-
-
Fixed the issue where the TIP server would not start on the node where the gateway was set when configuring a multi-node TIP server.
-
An error occurred while writing an environment file with cfl, and it has been corrected to work normally.
-
Related issue: IMS 71844
-
-
Fixed the issue where cfgadd would not wait in tp_sleep() when running via tmadmin while calling tp_sleep() on the server.
-
When performing tp_sleep, even if there is a message coming from tmm, the tmm request is processed and the remaining time of the timeout is waited.
-
Related issue: IMS 75771
-
-
Fixed an error that occurred when tx_commiting on the XA server.
-
The phenomenon of an error occurring at tx_commit while operating as xa_end(SUSPEND) due to the logic that checks when calling tpcall(TPNOTRAN) after tx_begin in the XA server has been fixed.
-
Related issue: IMS 75802
-
-
The engine is a 64-bit UCS server library, and the TRC5003 error occurs when starting UCS in an environment using 32-bit.
-
This phenomenon occurs due to a bug in adjusting the shared memory size used by the 64-bit engine in the 32-bit library.
-
Related issue: IMS 75150
-
-
Fixed an error when using encryption twice when tp_strat in context in MultiContext
-
When reading environment information with different labels in each context using MultiContext and accessing it, or when encryption is set for some labels, an error occurs after tpstart. Previously, whether or not encryption was set was not separated for each context, so when encryption was used only for some contexts, a conflict in the settings occurred. In this case, it was modified so that whether or not encryption is set can be set differently for each context.
-
Caution
Depending on whether you want to use encryption, you must set encryption in the client environment file.
-
Unencrypted
TMAX_SEMANTICS="CRYPT_SW:N"
-
Encryption
TMAX_SEMANTICS="CRYPT_SW:Y"
-
-
Related issue: IMS 75976
-
-
Patch for the phenomenon where tpcall(TPNOTRAN) is called after TXTIME has passed, but returns TPETIME as the return value.
-
If TXTIME is currently set, requests (tpcalls) that are being executed after TXTIME after tx_begin within the service are not called and are unconditionally given TPETIME.
When called with tpcall(TPNOTRAN), TPETIME occurs, but when the service is actually called, consistency issues occur, so even with tpcall(TPNOTRAN), it is affected by TXTIME and is not always called. However, it is called as an exception only when tpacall(TPNOTRAN|TPNOREPLY) is present.
-
Caution
Depending on whether encryption is used, it must be set in the client environment file.
-
Related issue: IMS 68190
-
-
Patch for NRDY being displayed as RDY when querying svcstat with the tmadmin API (2012/04/04)
-
The phenomenon of the service status being displayed as RDY when queried using the tmadmin API when the status is actually other than RDY or BLK has been corrected.
-
Related issue: IMS 42818
-
-
Fixed the issue where the service hangs in the RUN state when tpreturn is not performed when calling the service (2012/04/04)
-
When tpretrun is not present in the Tmax service, the phenomenon of the service being hung in the RUN state when called and TPEPROTO occurring on the client have been fixed.
-
Related issue: IMS 66057
-
2.3. Management tools
-
COUSIN Gateway suspend/resume bug patch
-
When configuring a gateway (twgw, tmgwnt, etc.) as COUSIN using a general server group, the gateway was not suspended when suspending a server in the group with sp -v. Furthermore, when suspending a gateway with sp -v, only the gateway server was suspended. This abnormal suspend behavior of a gateway configured as COUSIN has been corrected.
-
Related issue: IMS 45659
-
-
Modified tmadmin cfg -n, -g to show maxrstart value
-
cfg -n (node information) and -g (server group information) were also modified to show each maxrstart value when RESTART=YES.
-
-
Related issue:https://ims.tmaxsoft.com/tody/ims/issue/issueView.do?issueId=26257[IMS-67759]
-
Fixed abnormal output of -x option result when using st -s information sort option (-o)
-
Fixed the following issue that occurred when using the tmadmin st -o option:
-
In tmadmin, when using the additional options -x (detailed information) and -o (sorting) together with st -s or -p, the issue where some of the detailed information of the -x option was not displayed has been fixed.
-
When executing st -p -x -o, the problem of printing from utime to smaxtime in -x first and then showing general information has been fixed.
-
-
Related issue: IMS 69155
-
-
Fixed the issue where the -n option was not applied when searching with st -s.
-
- There was a part where the -n option was handled incorrectly. This part has been corrected.
-
Related issue: IMS 72444
-
-
Change the usage of the ds command from -c clid to -c cli_id.
-
Changed the usage of the ds command -c clid to -c cli_id.
-
Related issue: IMS 74424, 79516
-
-
Fixed an error when the -g and -v options were given simultaneously in tmadmin chtrc and chlog.
-
Fixed an error when executing chtrc -g svgname -v svrname -s spec in tmadmin.
-
Related issue: IMS 76320
-
-
Fixed a hang when running tmadmin wsgwinfo
-
Fixed a hang when running wsgwinfo when there is no connected WSGW.
-
Related issue: IMS 79458
-
-
Fixed the issue where ports were incorrectly displayed when using txgwi and ntxgw on Linux 64bit.
-
The phenomenon of ports being displayed incorrectly due to network byte conversion issues when using txgwi and ntxgwi on Linux 64bit has been fixed.
-
Related issue: IMS 79630
-
2.4. UTIL
-
twagent Core log generated
-
Fixed the issue where Core would crash when clicking on a large file under the Log Management menu in the webadmin screen.
-
Related issue: IMS 80424
-
-
Socket connect error occurring when running tmadmin -n on a remote node (Linux)
-
Fixed the issue where an error would not occur when running tmadmin -n on a remote node (Linux machine).
-
Related issue: IMS 82830
-
-
Added description of the -w option to tmboot -h
-
Related issue: IMS 69364
-
-
Fixed the cfl -r function error
-
Changes were made to the way maxuser is calculated in CLH.
-
Related issue: IMS 64318, 69731
-
-
Added functionality to check the range of fdl number values when running fdlc
-
When executing fdlc, an error message is displayed if the fdl number value is greater than 16777216.
-
Related issue: IMS 71786
-
-
Fixed cfl error message
-
When the LOAD value range is entered incorrectly and cfl is performed, the MIN value in the error message was changed from 0 to -2.
-
Related issue: IMS 72741
-
-
Core crash occurring when an incorrect value is specified for the tmd buffer type.
-
It has been modified to prevent abnormal termination even if the wrong buffer type is set in the data entered by the user.
-
Related issue: IMS 77980
-
-
Fixed an error occurring when performing cfl and the UCS server is set to LIFESPAN=IDLE_DOWN in the environment file.
-
Fixed the issue where setting LIFESPAN to IDLE_DOWN or DOWN would not cause an error.
-
Related issue: IMS 78830
-
-
Fixed an error where the cpc part of UCS_DYN did not properly output the pid when running st -p -x in tmadmin (2012/04/04)
-
The phenomenon in which the PID of the parts corresponding to the CPC is printed as 0 when searching for a UCS_DYN server with 2 or more CPCs using st -p -x in tmadmin has been corrected.
-
-
Patch for tmadmin processing delay due to sleep in racd (2012/04/04)
-
Improved delay when restarting tmadmin after terminating a tmadmin query (remote connection via racd) in a multi-node environment.
-
Related issue: IMS 64760
-
2.5. TDL
-
When a backup is set, shm_backup reflects an incorrect global seqno while running tdlupdate.
-
This phenomenon occurs when the global seqno update point is moved to the end of the update while tdlupdate is running. The function has been modified to reflect the global seqno of shm_backup after the global seqno is changed.
-
This phenomenon is an error that occurred in versions after Tmax 5.0 SP1 r6303 and Tmax 5.0 SP2 r6400.
-
Related issue: IMS 73527
-
-
Fixed the issue where TDL_ENOLIB error occurs when calling tdlcall with time(NULL) in urcode and TDL_TRAN in flags.
-
The phenomenon of the service status being displayed as RDY when queried using the tmadmin API when the status is actually other than RDY or BLK has been corrected.
-
Related issue: IMS 79973
-
-
Improved hash function performance
-
To solve the problem of tdlupedate taking a long time when there are many hash collisions, the function was improved to reduce collisions by applying the latest hash function.
-
Related issue: IMS 75196
-
-
Fixed an error so that getrusage() and gettimeoutday() functions are called only when enabled with MONITOR=Y |tdlshm -s e
-
Related issue: IMS 69713
-
-
Fixed an error to ensure consistency when calling tdlcall during tdlupdate (2012/04/04)
-
The phenomenon of a new module being called when tdlcall is called during tdlupdate has been corrected to be called after tdlupdate is completed.
-
Related issue: IMS 66057
-
2.6. TCP G/W
-
Patch for maintaining TPNOTRAN information when replying with the TPNOTRAN flag set in tcpgw
-
In tcpgw, TPNOTRAN information was modified to not be maintained for replies other than tpforward and tpacall.
-
Related issue: IMS 79119
-
-
Added a feature to not output messages after the TCPGWHDR gateway client terminates.
-
Added a feature option to not output client termination logs when returning with the WTHR_NORMAL_RETURN value from the user_thrmain() function.
-
Return value
Option Description WTHR_ABNORMAL_RETURN
Prints an error message when the client connection is terminated.
WTHR_NORMAL_RETURN
Does not output an error message when the client connection is terminated.
-
Related issue: IMS 68120
-
2.7. TUXEDO G/W
-
Fixed the issue where the program would terminate when receiving a SIGHUP signal.
-
Added functionality to allow normal scheduling even in case of channel failure when Tuxedo Gateway is set to COUSIN.
-
CLOPT: It works only when the "-l" setting is set.
-
Related issue: IMS 51608
-
-
Added the Tuxedo Gateway COUSIN IRT feature
-
When Tuxedo Gateway is set to COUSIN, a feature has been added to allow normal scheduling even in case of channel failure.
-
CLOPT: Works only when the "-l" setting is set.
-
Related issue: IMS 75505
-
-
Added the Tuxedo Gateway TIMEOUT option
-
Related issue: IMS 74567
-
-
Fixed the issue where Tuxedo Gateway CPU usage increased.
-
The phenomenon of Tuxedo G/W CPU (infinite select) usage increasing when the Tuxedo domain rejects the connection while trying to connect to the Gateway in Tmax Gateway has been fixed.
-
Related issue: IMS 78018
-
-
Added define to the fml32.h header for Tuxedo conversion
-
define added
#define FMLTYPE FDL #define FLDLEN32 FLDLEN #define Ferror32 Ferror #define FLDID32 FLDID
-
Related issue: IMS 67678
-
-
Fixed the TPETIME issue when calling an undefined service in Tuxedo Gateway (2012/04/04)
-
Fixed the TPETIME error that occurred when calling fml type service that is not defined in Tuxedo to occur TPESYSTEM.
-
Related issue: IMS 65904
-
2.8. JEUS Gateway
-
Fixed the issue where requests received during an alive check (all requests such as tpcall, tpacall, etc.) were always responded to as failure when making a request to a JEUS type Gateway.
-
Related issue: IMS 75825
-
-
Fixed the issue where jeusgwa would restart infinitely when the specified file did not exist when using the [-a] option in CLOPT of the jeusgw Async Gateway.
-
Related issue: IMS 71122
-
-
Added the [-H] option to CLOPT in jeusgw Async Gateway
-
When using [-H], a feature has been added to suppress messages when performing an alive check at log level -D 4.
-
Related issue: IMS 70952
-
-
Fixed the CDATE macro for CLOPT in jeusgw Async Gateway to reflect date changes immediately
-
Related issue: IMS 70952
-
2.9. Domain Gateway
-
Domain Gateway failover not working
-
The phenomenon in which the Fail-Over of Domain Gateway (TMAXNONTX) did not work properly and (TPENOREADY) occurred has been fixed.
-
Related issue: IMS 77388
-
-
Error occurring when the remote domain (transaction GW) fails to select a CLH channel when the xid exceeds 2147483647.
-
Fixed the issue where the remote domain (transaction GW) could not select a CLH channel when called with an xid exceeding 2147483647.
-
Related issue: IMS 81275
-
-
When attempting to connect to TMAXNONTX G/W, an error occurs that does not release the socket in certain situations.
-
After adding the non-block connect function, the following issues were fixed:
-
- When used without the -i option, a problem occurs where a new socket is created for each request without closing the connected socket.
-
- When using the -i option or using GWCHKINT, if GWCONNECT_TIMEOUT is greater than NLIVEINQ or GWCHKINT, a new socket is created instead of closing the socket.
-
-
Related issue: IMS 74015
-
-
Fixed the issue where the fd was not closed when the fd attempted to be connected to the TMAXNONTX G/W failed.
-
The problem of not closing the fd when the fd attempted to connect in the TMAXNONTX G/W changed to non-blocking mode fails has been fixed.
-
Related issue: IMS 76255, 83271
-
-
Fixed the issue where TMAX_TRACE was turned ON when the number of gateway requests was 268435456 or more.
-
Fixed the issue where the trace log was output as ULOG when the number of requests exceeded 268435456 after starting on the gateway, even though TMAX_TRACE was not set to ON.
-
Related issue: IMS 77057
-
-
Fixed COUSIN Gateway load balancing errors
-
In the environment below, it was modified to distribute according to the LOAD value in B Domain.
-
When the environment SVCA of A Domain and B Domain is set as COUSIN Gateway in A Domain and COUSIN in B Domain, if SVCA is scheduled to B Domain through the gateway, it is processed in a way that it is processed on the receiving node of B Domain regardless of the LOAD value.
-
-
Related issue: IMS 75689
-
2.10. HOSTLINK
-
Fixed the issue where commarea size and trxid were mixed in HostLink lu62sgw.
-
When requesting from Tmax to Mainframe via lu62sgw, the phenomenon of receiving data with different commarea size and trxid from the original has been corrected.
-
Related issue: IMS 77857
-