Tmax 5 SP1 Fix#4
본 장에서는 Tmax 5 SP1 Fix#4의 추가 기능, 버그패치에 대해 간략히 설명한다. 상세한 설명은 관련 안내서를 참고한다.
1. 추가 기능
본 절에서는 추가된 기능에 대해 설명한다.
1.1. ENGINE
-
DB2 9.0 이상을 위한 정적 등록, 동적 등록 방식의 stub library 제공
-
DB2 9.0 이상의 static registration, dynamic registration 방식 지원을 위해 추가 라이브러리를 제공한다.
-
기존 제공 LIB DB 8.0 이하 DYNAMIC : libdb2s, libdb2_64s
-
추가 제공 LIB DB 9.0 이상 DYNAMIC : libdb2s_std STATIC : libdb2s_static
-
-
관련 이슈 : IMS 58774, 52352
-
-
TMM unix-domain-socket을 listen할 때 backlog를 설정할 수 있는 옵션 추가 (2012/04/04)
-
Tmax 프로세스를 재기동 또는 추가 기동할 경우 리소스 부족으로 인해 기동하지 못하는 현상을 개선하기 위하여 TMMOPT -B, -F, -A 옵션 기능 및 -F, -A, -t 옵션 동적 변경 기능을 추가하였다.
환경설정의 TMMOPT 옵션은 다음과 같다.
옵션 설명 -B numeric
backlog 값을 설정한다. (기본값: 1023)
-A numeric
한 번에 처리할 accept() 값을 설정한다. (기본값: 100)
-F numeric
fork 처리량을 설정한다. (기본값: backlog 설정값의 0.75배)
-
tmadmin backlog 조회
옵션 설명 cfgopt -tmm
tmm backlog 설정을 조회한다.
setopt -tmm -F 100
tmm backlog를 수정한다.
-
관련 이슈 : IMS 65507
-
1.2. 클라이언트 / 서버
-
tpsvrdone 함수 안에서 서비스를 호출할 때 동작 방식 변경
-
기존의 동작 방식
tpsvrdone 함수 안에서 tpcall이나 tpacall, tpgetreply를 수행할 때 아직 svr의 상태가 RDY이므로 CLH에서는 서비스를 스케쥴링한다. 이때 tpcall이나 tpgetreply에서는 해당 서비스 요청이 들어오면, TPESYSTEM 을발생시키면 return을 하기 때문에 실제 tpcall, tpgetreply에 대한 응답을 수행할 수 없어서 문제가 발생할 수 있다.
서버 종료 함수(tpsvrdone) 안에서 다른 서버의 서비스를 호출할 경우가 있다. 이때 tpsvrdone이 실행되는 서버의 서비스가 호출 될 경우 tpsvrdone 안에서 호출한 서비스의 응답이 unknown message type 에러가 발생한다.
-
현재 동작 방식
Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, Tmax 5.0 SP3에서는 이런 상황(tpsvrdone)에서 tpcall과 tpgetreply가 성공할 수 있도록 read하는 부분에서 에러를 리턴하지 않고 무시한다. 또한 자신이 원하는 응답이 올 때까지 기다리도록 보완했다.
-
관련 이슈 : IMS 71175, 61897
-
-
tpadvertise() / tpunadvertise() 기능 보완
-
기존의 동작 방식
tpadvertise, tpunadvertise는 환경설정에 등록되어 있는 서비스만을 대상으로 한다.
-
변경된 동작 방식
mksvr로 등록한 서비스 및 tpadvertise에 의해 새롭게 등록한 서비스를 등록/해제할 수 있도록 보완하였다.
-
svrlib의 tpadvertise
-
환경설정 파일(config.m)에 등록한 서비스를 tpadvertise를 수행하는 경우
-
tpunadvertise 수행을 했었다면 다시 서비스할 수 있는 상태로 변경
-
다른 서버에서 tpadvertise 실행하는 경우실패 처리
-
-
mksvr로 등록한 서비스를 tpadvertise 수행하는 경우
-
tpunadvertise 수행을 했었다면 다시 서비스할 수 있는 상태로 변경
-
다른 서버에서 tpadvertise를 실행할 때 실패 처리함\
-
서버 프로세스 모두 종료하는 경우 tpadvertise했던 서비스는 함께 자동 삭제
-
-
tpadvertise에 의해 새롭게 등록한 서비스를 tpadvertise를 수행하는 경우
-
새로운 서비스를 등록
-
tpunadvertise를 수행했었다면 다시 서비스할 수 있는 상태로 변경
-
다른 서버에서 tpadvertise 실행하는 경우실패 처리
-
서버 프로세스 모두 종료하는 경우 tpadvertise했던 서비스는 함께 자동 삭제
-
-
-
svrlib의 tpunadvertise
-
환경설정 파일(config.m)에 등록한 서비스를 tpunadvertise 수행하는 경우
-
상태가 UNADV로 변경되며, 서비스를 호출할 때 TPENOENT가 tperrno에 설정
-
-
mksvr로 등록한 서비스를 tpunadvertise 수행하는 경우
-
상태가 UNADV로 변경되며, 서비스를 호출할 때 TPENOENT가 tperrno에 설정
-
모든 서버가 종료할 때에는 서비스 자체가 없어짐
-
-
tpadvertise에 의해 새롭게 등록한 서비스를 tpunadvertise 수행하는 경우
-
상태가 UNADV로 변경되며, 서비스를 호출할 때 TPENOENT가 tperrno에 설정
-
모든 서버가 종료될 때에는 서비스 자체가 없어짐.
-
-
-
제약 사항
-
설정하지 않은 서비스에 대해 tpadvertise를 실행할 때에는 mksvr에서 서비스가 동적 등록하는 프로세스로 동작을 수행한다.
-
SVCTIMEOUT과 AUTOTRAN을 설정할 수 없다.
-
-
로그 추가
-
tpadvertise가 이미 다른 서버에서 수행한 경우에 slog에 다음을 출력한다.
SVR3041 fail to tpadvertise: svc(%1) in svr(%2:%3), mysvri(%4)
설정값 설명 1
tpadvertise하려는 서비스 이름
2
이미 등록한 서버 이름
3
이미 등록한 서버의 인덱스
4
tpadvertise를 실행한 서버의 인덱스
TMM3041 fail reg svc (%1, %2, %3, %4) not equal svri(%5)
설정값 설명 1
등록하려는 서비스 이름
2
서비스 인덱스
3
이미 등록한 서버의 인덱스
4
서버 그룹의 인덱스
5
요청한 서버의 인덱스
-
SVCTIMEOUT과 AUTOTRAN을 설정할 수 없다.
-
-
tpadvertise 실패하는 경우 tperrno 추가
tperrno 설명 TPELIMIT
노드의 서비스 갯수 제한으로 더 이상 새로운 서비스를 등록할 수 없을 경우 발생한다.
TPEMATCH
이미 등록한 서비스인데 function이 다를 경우 발생한다.
이미 다른 서버에 등록한 서비스일 경우 발생한다.
-
-
관련 이슈 : IMS 71318
-
-
TIP을 사용하여 SERVER stat 정보도 모니터링 가능하도록 기능 추가
-
TIP_SECTION에 SVR 또는 SERVER로 지정하여 SERVER stat 정보를 조회할 수 있다.
-
관련 이슈 : IMS 80456
-
-
RQ 기능 tmaxgw/tmaxgwmt 지원
-
RQ API를 tmaxgw/tmaxgwmt library에 추가하였다.
-
-
tpacall할 때 응답 처리를 Callback하지 않고, tpgetrply에서 직접 응답 수신 기능 추가 (2012/04/04)
-
UCS에서 tpregcb 함수를 사용하여 tpacall의 응답을 처리하는 함수로 Callback 함수를 등록할 수 있다.
-
ucsmain(), tpsvctimeout()에서 tpacall의 응답 처리하는 방법은 Callback 함수를 호출하는 방법만 존재하였다. 이를 개선하여 tpacall에서 TPNOCALLBACK flag를 입력 받으면, Callback 함수에서 처리하지 않고, tpgetreply에서 처리될 수 있는 인터페이스를 추가하였다.
-
1.3. 관리도구
-
tmadmin 상에서 RUN상태의 서버프로세스의 스케쥴링 경과시간을 확인할 수 있는 옵션 추가
-
st -p -d를 실행하면 RUN 상태일 경우 경과 시간이 그 이외의 시간일 경우 '-' 로 표시한다.
-
non-block 타입의 게이트웨이일 경우에는 RUN이라도 '-'로 표시한다.
-
st -p와 함께 사용해야 하며 st -p -x와 함께 사용할 수 없다.
-
관련 이슈 : IMS 44140
-
-
tmadmin st -p를 수행할 때 콘솔에 한줄로 표기할 수 있는 기능 추가
-
tmadmin st -p -x 혹은 -p -d 옵션을 사용해서 콘솔 표기할 때 한 프로세스마다 여러 줄로 나오던 것을 한줄로 표시할 수 있는 기능을 추가하였다.
-
사용 방법
$$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 - ---------------------------------------------------------------------------
-
관련 이슈 : IMS 83120
-
-
clh에 접속 가능한 최대 사용자수 확인 기능 추가
-
tmadmin에서 tmaxinfo(ti), cfg -n 명령에서 다음과 같이 출력되도록 기능을 추가하였다.
-
사용 방법
$$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,
-
관련 이슈 : IMS 70872
-
-
멀티 노드 autobackup 동적 변경 기능 추가
-
사용 방법
tmadmin 유틸리티를 실행한다. -n 옵션을 설정하여 대상 노드를 지정한다.
$ tmadmin -m -n nodename
set 명령을 통해 설정을 변경한다. 설정값은 N, Y를 지정할 수 있다. N으로 지정하면 autobackup 기능을 비활성화시킨다.
> set -n nodename autobackup N > set -n nodename ab N > set -n nodename autobackup Y > set -n nodename ab Y
-
관련 이슈 : IMS 65528
-
-
tmadmin qpurge count 조정 기능 추가 (2012/04/04)
tmadmin의 qpurge(qp) 옵션에 [-k Num] 옵션이 추가되었다.
-
사용법
qp -v svr2 [-k Num]
Num은 다음과 같이 설정이 가능하다.
입력값 설명 -1
현재 큐에 대기 중인 서비스 요청 중에서 MAXQCOUNT 개수만큼의 요청만 남기고 이후에 들어온 요청들을 purge시킨다.
0
현재 큐에 대기 중인 모든 서비스 요청들을 purge시킨다.
N (>0)
처음 들어온 N개의 gcount 요청만 남기고 이후에 들어온 요청들을 purge시킨다. 이 옵션은 반드시 –v 옵션과 함께 사용해야 한다.
-
관련 이슈 : IMS 64072
-
-
tmadmin cfg -n, -g의 경우 maxrstart 값도 출력되도록 기능 보완 (2012/04/04)
-
기존에는 cfg -v 즉 서버 정보에만 maxrstart 값을 출력했으나, 기능 보완을 통해 cfg -n(노드 정보), -g(서버 그룹 정보)에도 각각의 restart, maxrstart, gperiod 값을 출력하도록 수정하였다. 단, 이 항목들은 동적변경이 불가능하다.
-
관련 이슈 : IMS 67759
-
1.4. UTIL
-
tmapm 기능추가
-
TMAPM은 시그널 알람 사용하지 않거나, 용이하지 않은 경우 서비스 타임아웃 시간이 지난 서비스를 종료시켜주는 모듈이다. 자세한 사용법은 Tmax Reference Guide를 참고한다.
-
사용방법
*SERVER tmapm CLOPT = [ -i sec ] [-r sec ] [-c command ] [-l [0 | 1 | 2 ] ]
-
관련 이슈 : IMS 67358
-
-
RACD를 통한 tmadmin 실행 구조 개선
-
기존에 RACD에 의해 기동할 수 있는 remote tmadmin은 단 하나만 가능했다. 이 때문에 사용자가 로컬에서 tmadmin 이후 다시 tmadmin -m을 통해 main 모드로 기동되면 remote에는 이미 tmadmin으로 기동되어 있기 때문에 tmadmin -m이 기동할 수 없었다.
-
Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, Tmax 5.0 SP3에서는 RACD에 의해 기동할 수 있는 remote tmadmin은 tmadmin, tmadmin -m 2개가 가능하도록 수정하였다.
-
관련 이슈 : IMS 68751
-
-
tmd -l 옵션 추가
-
기존 tmd 실행하는 경우데이터를 받는 한 줄은 1024byte로 제한되어 있었다. 사용자가 설정할 최대 데이터 크기만큼 사이즈를 설정하도록 기능을 추가하였다.
-
예제
$ tmd -i test.64000 -l 64003
-
관련 이슈 : IMS 73033
-
-
cfl을 통한 OPENINFO 암복호화
OPENINFO 절 전체를 암호화하는 툴(tencrypt)을 통해 평문을 암호화 해서 이를 환경설정 파일에 기입하는 방식을 추가하였다.
-
tencrypt 툴로 암호화된 결과를 환경 파일에 삽입한 후 cfl을 수행한다.
-
관련 이슈 : IMS 65690 ,71378
-
-
tmdown를 실행할 때 y|n를 묻지 않고 바로 종료되는 -y 옵션 추가
-
tmdown를 실행할 때 종료 여부를 묻지 않고 바로 종료할 수 있는 기능을 추가하였다. -i 옵션과도 같이 사용할 수 있다.
-
예제
$ tmdown -y
-
관련 이슈 : IMS 69697
-
-
tmboot -g svrgroup 실행할 때 -i 옵션 추가
-
tmboot -g로 실행할 때 서버를 부팅시키는 중 max 값에 도달한 서버가 있을 때 전체 과정을 중지한다. tmboot -g -i를 함께 사용하는 경우 max 값에 도달한 서버가 있더라도 전체 과정이 중지되지 않고 다음 서버들을 부트할 수 있도록 기능을 추가하였다.
-
예제
$ tmboot -i -g svg1
-
관련 이슈 : IMS 72610
-
-
cfl -x 옵션 추가
-
cfl를 수행할 때 SERVER 절 설정의 TARGET 및 CLOPT의 -x 옵션을 사용할 때 존재하는 서버, 서비스명인지 체크하는 -x 옵션을 추가하였다.
-
추가된 에러 메시지
-
SERVER 절의 TARGET 설정에 환경 파일에서 선언되지 않은 서버명이 설정되었을 때
"CFL3184 line %d(서버가 선언된 라인): invalid target server name %s(TARGET에 설정한 서버명)"
-
SERVICE 절의 CLOPT 설정에 환경 파일에서 선언되지 않은 서비스명으로 -x 옵션이 설정되었을 때
"CFL3183 line %d(서버가 선언된 라인): invalid service name %s(-x로 설정한 서비스명)"
-
-
관련 이슈 : IMS 75628
-
1.6. Tuxedo Gateway
-
Tuxedo Gateway COUSIN IRT 기능 추가
-
Tuxedo Gateway가 COUSIN으로 설정되어 있는 경우 채널 장애에 대해서도 정상 스케쥴링할 수 있도록 기능 추가되었다..
-
CLOPT : "-l" 설정을 해야 동작한다.
-
관련 이슈 : IMS 75505
-
-
RGWPORTNO 중복 허용
-
관련 이슈 : IMS 50725
-
-
TUXEDO, TUXEDO_ASYNC Gateway에서 채널 얼라이브 체크하는 기능 -c / -C 옵션 추가
-
CLOPT에 -c time(sec) / -C svcname 설정 추가
TUXEDO로부터 들어오는 요청이나 응답이 없을 경우 주기적으로 -C옵션에 의해서 설정한 서비스를 호출한다. 설정이 안되어 있는 경우 "dus$%@tjq"이 이름의 서비스 호출한다.
-c로 "설정한 시간*2" 이후까지 턱시도로부터 아무 응답이나 요청이 없을 경우 연결 종료된 것으로 판단하고 연결 종료한다.
다음은 연결이 종료되었을때의 slog의 내용이다.
(E) GATEWAY2062 remote gateway closed: 192.168.1.43 [TUXGW0307] (E) GATEWAY3030 failed to check rgw alive: rgw closed [TUXGW0027]
-
관련 이슈 : IMS 76714
-
-
-h 옵션 추가
-
Tuxedo에서 로컬 게이트웨이를 여러 개를 설정할 때 각각의 게이트웨이가 각각 리모트에 연결 시도하기 때문에 Tmax의 Tuxgw에서는 하나의 연결이 맺어진 이후에 두 번째 연결 시도하는 연결에 대해서는 다음의 메시지를 발생시킨다.
(E) GATEWAY3010 connection error from remote gateway [TUXGW0002]
-
-h 옵션을 적용하면 위 메시지가 출력되지 않도록 옵션이 추가된다.
-
관련 이슈 : IMS 47268
-
1.7. 도메인 게이트웨이
-
도메인 게이트웨이(TMAXNONTX)의 연결 방식을 Non-block 방식으로 변경
-
게이트웨이가 리모트를 연결할 때 block이 되므로 리모트 머신(Remote Machine)이 살아있지 않거나 (OS down) 네트워크 문제로 인해서 connect가 정상 수행이 되지 않을 수 있다. 그렇게 되면 게이트웨이로 보내진 요청은 바로 실패 응답을 받지 못하고 해당 타임아웃까지 기다린 후 응답받기 때문에 긴 응답 시간을 가지게 되어 문제가 발생한다.
-
Tmax 5.0 SP1 Fix4에서는 이를 해결하기 위해서 커넥션을 Non-block으로 변경하여 위와 같은 장애에도 응답을 지연 없이 보낼 수 있도록 기능을 보완했다.
-
Tmax 5.0 SP1 Fix4, Tmax 4.0 SP3 Fix11는 TMAXNONTX 타입의 게이트웨이만 변경하였으며 Tmax 5.0 SP2는 TMAX, TMAXNONTX 타입 모두 변경되었다.
-
관련 이슈 : IMS 73282, 72649
-
-
tmaxgwnt에서 게이트웨이 간 채널 수를 1로 하는 -n 옵션 추가
-
기존의 게이트웨이 간의 채널 수는 2로 고정되어 있었다. 이로 인해 먼저 보낸 전문 1이 채널 1로, 나중에 보낸 전문2가 채널2로 GW1을 통해 보냈을 때 받는 GW2쪽에서 전문2가 먼저 도착되어 처리되는 상황이 발생할 수 있었다.
Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2, Tmax 5.0 SP3에서는 이를 방지하기 위해 환경설정 파일에서 GATEWAY 절의 CLOPT에 게이트웨이 간의 채널 수를 1로 하는 -n 옵션을 추가하였다. -n은 인자를 받지 않는다.
-
관련 이슈 : IMS 70604
-
2. 버그패치
이번 버전에서 버그패치된 내역은 다음과 같다.
2.1. Engine
다음은 엔진의 수정된 버그에 대한 내용이며 , DYN 서버는 FD 16384에서 지원하지 않는다.
-
4대 이상의 멀티 노드를 구성할 때 tmm 간 연결을 수행하지 못하는 오류 수정
-
slog에 아래와 같은 로그가 출력되며 tmadmin으로 tmmsi를 확인할 경우 노드가 연결되지 않은 현상을 수정하였다.
(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]
-
-
관련이슈 : IMS-68089
-
다이나믹 서버 타입으로 동작시킬 때 에러
-
다이나믹 서버 타입으로 동작시킬 때 아래와 같은 에러가 발생하지 않도록 수정하였다.
-
tmadmin rbs 및 restart 기능에서 DYN_SVR_TYPE 고려 안하던 것 수정
-
snmp에서 svr 정보와 spri 정보 얻어오는 부분 DYN_SVR_TYPE 고려 안하던 것 수정
-
twagent에서 svr 정보와 spri 정보 얻어오는 부분 DYN_SVR_TYPE 고려 안하던 것 수정 (Tmax WebAdmin)
-
clh 에서 spracall 호출하는 경우 DYN_SVR_TYPE 고려 안하던 것 수정 (tpspracall 함수)
-
svrlib, tmm에서 chtrc 기능에 DYN_SVR_TYPE 고려 안하던 것 수정 (chtrc 기능)
-
tmm에서 spri를 종료하는 경우DYN_SVR_TYPE일 때 잘못 사용하던 것을 수정 (tmadmin API를 통해 tmdown 요청하는 경우)
-
tmm에서 clh가 재기동되었음을 spri에 알릴 때 DYN_SVR_TYPE 고려 안하던 것 수정(CLH 재기동 또는 notify_reconnect_clh 명령어)
-
-
관련 이슈 : IMS 82021
-
-
RQS tpenq_ctl deq_time 사용하는 경우 서비스 송신 전까지는 request queue에 저장되지 않는 현상 수정
-
RQS 장애가 발생하는 경우 tpenq_ctl() 성공한 메시지들이 디스크에 없어서 유실되는 문제와 rqstat()를 조회하는 경우 request queue에 저장된 건수가 반영되지 않았던 문제를 수정하였다.
-
관련 이슈 : IMS 83488
-
-
tmdown 비정상 종료하는 경우 에러 메시지 발생 현상 수정
-
tmdown 비정상 종료하는 경우 다음과 같은 에러가 발생하지 않도록 수정하였다.
(E) SVR0209 internal error : invalid msg type 1108 [SVR0029]
-
관련 이슈 : IMS 46969
-
-
tpforward의 경우 tmadmin의 st -p count가 증가되지 않는 현상 수정
-
Non-TX 도메인 게이트웨이를 이용하여 tpcall할 때 상대방에서 응답을 tpreturn이 아닌 tpforward로 줄 경우 tpforward를 수행하는 서비스가 제일 처음 호출자인 도메인이면 게이트웨이의의 count가 증가되지 않는 현상으로, 기존에는 응답을 받아야지만 count 및 svctime, fail_count, error_count가 증가되었다.
-
Tmax 4.0 SP3 Fix11, Tmax 5.0 SP1 Fix4, Tmax 5.0 SP2에서는 다음과 같이 수정되었다.
-
Async 타입의 게이트웨이(TMAXNONTX, TOPEND_STDGW, JEUS_ASYNC, TUXEDO_ASYNC)가 스케줄링할 때 spr의 게이트웨이의 COUNT가 증가한다.
-
게이트웨이를 통해서 응답을 받는 경우, 게이트웨이의 svctime, fail_count, error_count의 증가로 변경된다. tpforward로 받을 경우에는 이 부분은 증가되지 않는다.
-
게이트웨이로 스케줄링할 경우 항상 RDY 상태이다.
-
-
관련 이슈 : IMS 49974
-
-
tmdown -g를 수행할 때에 STD_DYN 서버가 종료되지 않는 문제
-
tmdown -g를 수행하는 경우 STD_DYN 서버가 종료되지 않는 현상을 수정하였다.
-
관련 이슈 : IMS 80748
-
-
timeout 재기동할 때 restart count 초기화 기능 개선
-
-r 옵션 적용된 서버에서 timeout으로 재기동할 때 GPERIOD지나도 restart count가 초기화되지 않는 현상을 수정하였다.
-
관련 이슈 : IMS 62481
-
-
tmdown 도중 backup노드의 backup서버가 기동되어 버리는 현상 패치
-
액티브 노드와 백업 노드를 함께 재기동시켰을 때 액티브 노드가 아직 종료가 안된 시점에 백업 노드가 재기동이 완료되면 액티브 노드의 종료를 백업 노드가 비정상 종료로 인식하고 서버를 기동시켜서 나타나는 현상을 정상 종료(tmdown) 중인 노드가 다른 노드로부터 연결시도를 받으면 연결을 맺고 즉시 끊어버리도록 수정되었다.
-
관련 이슈 : IMS 68089
-
-
tmdown -s svr 중 프로세스 비정상 종료하는 경우 재기동 현상 수정
-
tmdown -S svrname으로 서버를 종료하는 중에 해당 서버가 비정상종료되면 tmm에서 종료 중임에도 불구하고 재기동시키며 '(E) TMM2108 register request from server(svr2) error: SVR_DOWN_REQUESTED [TMM0156] ' 에러가 메시지를 남긴다. 이와 같은 상황에서는 서버의 down 상태를 체크해서 재기동하지 않도로 수정하였다.
-
관련 이슈 : IMS 70994
-
-
CLH 비정상 종료 되는 현상 수정
-
dynamic 서버와 conversation 모드를 수행하는 경우 clh가 비정상 종료되는 현상 수정하였다.
-
관련 이슈 : IMS 72946
-
-
eclh, etmm에서 evt_wait 이후 loop 초 단위 체크 성능개선
-
event driven architecture가 적용된 CLH에서 많은 CPU 자원을 소모하는 루틴에 대한 성능을 개선하였다.
-
관련 이슈 : IMS 75301
-
-
서버에서 tpforward 하고 다른 서버에서 tpreturn를 수행하는 경우 불특정하게 CLH가 비정상 종료 현상 발생
-
CLH에서 tpforward에 대한 tpreturn를 처리할 때 free한 메모리를 참조하려고 하여 발생한 현상으로 이를 수정하였다.
-
관련 이슈 : IMS 75301
-
-
COUSIN 설정이 없는 노드에서 COUSIN SVC를 호출할 때 IRT 동작을 수행하지 못하는 오류 수정
-
COUSIN 설정이 없는 노드, G/W가 COUSIN에 포함되어 있는 경우 G/W 연결이 종료된 이후에 COUSIN SVC 요청들이 연결이 종료된 G/W까지 항상 문의하는 오동작을 연결이 종료된 G/W는 한번씩 문의하며 다음부터는 보내지 않도록 수정하였다.
-
관련 이슈 : IMS 73010, 76197
-
-
4대 이상의 노드로 구성 되어 있을 경우 tmm끼리 연결을 맺지 못하는 문제 수정
-
Tmax가 4대 이상의 노드로 구성 되어 있을 경우 1,2,3,4번 노드 중 2번이 부트되어 있지 않을 경우 3,4번이 서로 tmm끼리 연결을 맺지 못하는 문제를 수정하였다.
-
관련 이슈 : IMS 76822
-
-
멀티노드에서 tpsend 호출하는 경우 비정상 동작 수정
-
로컬 노드에 있는 서비스에서 다른 노드에 있는 서비스로 tpconnect 호출 후 tpsend를 호출하면 '(E) CLI 3039 internal error : unknown message type :2006 [CSC5713] ' 오류가 발생하는 문제를 수정하였다.
-
관련 이슈 : IMS 77055
-
-
STD_DYN 타입의 서버에서 트랜잭션이 시작된 후 다른 서버에서 tpcall 하면 clh 비정상 종료되는 현상 수정
-
STD_DYN 타입의 서버에서 tx_begin()으로 트랜잭션을 시작한 다음 tpcall()로 일반 서버를 요청하고, 요청된 서버에서 tpcall()로 일반 서버를 요청하는 경우에 CLH가 비정상 종료되는 현상을 수정하였다.
-
관련 이슈 : IMS 65387
-
-
XA Cousin svg 장애가 발생하는 경우 클라이언트에게 TPERDOWN을 주는 오류 수정
-
한 도메인이 3대의 노드로 구성되고, 그 중 2개 노드의 XA svg만 COUSIN(LOAD=-2)로 구성된 환경에서 COUSIN으로 구성하지 않은 노드에서 접속한 클라이언트에서 서버 그룹의 서비스 호출할 때 COUSIN으로 구성한 svg 중 하나(혹은 모두)를 down시킬 경우 클라이언트에서 tpcall은 실패하고 tperrno에 TPERDOWN을 설정하던 오류를 TPENOREADY로 설정하도록 수정하였다.
-
관련 이슈 : IMS 44505
-
-
SVR들이 CLH에 동시에 접속 가능한 프로세스 수 제한 옵션 추가
-
CLH는 재시작할 때 CLH에 연결을 해야 하는 프로세스들이 동시에 연결을 시도하려고 한다. 이때 lock을 사용하여 connect을 시도하므로 잘 동작하던 서버들도 일시적인 BLOCK 현상이 발생할 수 있어 이를 개선하기 위하여 TMMOPT -r , -k 옵션을 추가하였다.
-
환경설정의 TMMOPT 옵션은 다음과 같다.
옵션 설명 -r
재접속 통지 이후에 아직 요청하지 않은 프로세스들에게 접속 요청 간격이다. (단위: 초)
-k
CLH에 재연결 요청을 동시에 보내는 프로세스 수이다.
-
관련 이슈 : IMS 66319
-
-
TMM의 다른 프로세스에 write 재시도 방식 변경
-
TMM이 tmdown으로 보낸 메시지를 tmdown이 모두 읽기 전에 계속 write를 시도했을 때 기존에는 일정 횟수(500) 이상 시도하면 실패로 간주하였다. write가 실패하면 싱글 노드에서는 tmdown 과정이 정상적으로 종료되나 멀티 노드에서는 local 노드만 tmdown 과정이 완료되고 리모트 쪽에서 tmdown 과정이 실행이 안된다. 이러한 문제점을 해소하기 위해 최소 1초가 지나야 write 시도한 횟수를 증가 시킨도록 하여 짧은 시간에 한꺼번에 많은 write의 재시도가 발생하더라도 실패하지 않도록 수정되었다.
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]
-
관련 이슈 : IMS 67087
-
-
AnyLink를 사용하는 경우 clh 연결 종료되는 현상 수정
-
AnyLink 서버에서 한 요청에 대해서 두번 응답을 주는 로직이 있으나 clh에서는 해당하는 케이스에 대해서 고려하지 않고 작성되어있어 발생되는 현상으로 정상 동작하도록 수정하였다.
-
관련 이슈 : IMS 72015
-
-
tmdown -i 중 tmm 비정상 종료되는 현상 수정
-
비정상 종료로 재기동되는 서버가 많은 상황에서 ASQCOUNT에 의해서 기동되는 서버가 많을 경우 tmdown -i로 종료한 경우 tmm이 비정상 종료되는 현상을 수정하였다.
-
관련 이슈 : IMS 75782
-
-
2pc 처리 도중 server 비정상 종료하는 경우 rollback이 2번 일어나는 현상 수정
-
XA 서버인 svr_xa1, svr_xa2가 있을 경우 svr_xa1에서 tx_begin 이후 tpcall로 svr_xa2로 호출 후 svr_xa1 을 kill로 종료하는 경우 xa_start된 xid 이외의 다른 xid로 xa_rollback을 하는 현상과 svr나 svc에 AUTOTRAN 설정이 되어 있지 않아야 발생한다. 이는 구버전 AUTOTRAN 호환 패치 기능을 추가하면서 발생한 사이드 이펙트이다.
-
관련 이슈 : IMS 76716
-
-
tmm swap 메모리 증가 현상 수정
-
TMAX_TRACE 설정하고, SVCTIME이 1이고, 부하가 많을 경우 서버에서 서비스 수행 전후 trace log를 tmm에 보내면서 지연 처리되어 SVCTIMEOUT이 발생하고, 에러 메세지를 tmm에 요청하면서 메시지가 혼합되어 tmm에서 정상 처리를 하지 못하고 swap 메모리 증가하는 현상을 수정하였다.
-
관련 이슈 : IMS 77057
-
-
xid 0-0-0 발급되는 현상 보완
-
알 수 없는 이유로 xid가 발급되지 않은 '0-0-0’으로 xa_start를 하는 경우가 발생하여 Global Transaction이 불일치되는 현상이 발생하였다. '0-0-0’으로 시작되는 트랜잭션은 실패로 응답을 주어, caller에서 실패 처리를 하도록 보완해서 패치하였다.
-
다음의 에러 코드가 출력된다.
SVR3042 xid is invalid (0-0-0), svc(%s)
호출된 서비스 이름이 %s를 대신한다. errno는 TPETRAN, usrcode는 TX_ESYSTEM 이 발생한다.
-
관련 이슈 : IMS 77327
-
-
멀티 노드 cousin이 구성된 svrgroup에서 tmdown/tmboot 옵션(-g/-S)을 수행하는 경우 한 노드의 서버 down/boot되는 현상 수정
-
관련 이슈 : IMS 79295
-
-
tmdown -S svrname -i로 종료할 경우 서버가 전부 종료되지 않는 현상 패치 (2012/04/04)
-
STD_DYN이 혼용된 환경에서 tmdown -S svrname -i 옵션으로 서버들을 순차적으로 종료할 때 특이한 서버가 전부 down되지 않는 현상이 수정되었다.
-
관련 이슈 : IMS 61787
-
-
STD_DYN, UCS_DYN 프로세스에 대한 suspend를 수행할 경우 상태 이상 현상 패치 (2012/04/04)
-
관련 이슈 : IMS 63753
-
-
tmboot 진행 중에 tmdown하는 경우 down이 완료된 이후에도 서버 프로세스 등록 방지 패치 (2012/04/04)
-
tmboot 진행 중인 상태에서 동시에 tmdown을 실행할 경우에 Tmax가 종료된 이후에도 살아있는 서버 프로세스가 존재하는 현상을 down 완료 이후 서버 프로세스가 등록되지 않도록 수정하였다.
-
관련 이슈 : IMS 63647
-
-
DYNSVR 트랜잭션의 경우 clh 비정상 종료 현상 패치 (2012/04/04)
-
STD_DYN 타입의 서버에서 tx_begin()으로 트랜잭션을 시작한 다음 tpcall()로 일반 서버를 요청하고, 요청된 서버에서 tpcall()로 일반 서버를 요청하는 경우에 CLH가 비정상 종료되는 현상이 수정되었다.
-
관련 이슈 : IMS 65387
-
-
tmboot할 경우 config.m에서 envfile의 환경변수 지정 버그 수정 (2012/04/04)
-
tmax 환경 파일에 evnfile 환경변수 파일에 알파벳, _ , 숫자 조합 변수를 지정할 경우에 변수를 잘못 인식하는 현상을 수정하였다.
-
관련 이슈 : IMS 65389
-
-
tmdown -p DYNSVR 정상 수행 못하는 오류 수정 (2012/04/04)
-
tmdown -p로 STD_DYN, UCS_DYN 타입의 서버 프로세스를 종료하려고 할 경우 정상 동작하도록 수정하였다.
-
-
RDP 서버 사용 중에 3.x 버전과 5.x 버전의 클라이언트가 혼재 상태일 때 5.x 버전의 클라이언트에서 tpcall 메시지를 수신하지 못하는 오류 수정 (2012/04/04)
-
RDP 사용 중 3.x 버전과 5.x 버전의 클라이언트가 혼재된 상황에서는 3.x 버전의 클라이언트를 접속한 후 5.x 버전의 클라이언트의 순서로 접속한다. 이 상태에서 특정 애플리케이션에서 tpbroadcast가 발생했다면, 5.x 버전의 클라이언트를 tpcall할 경우 메시지를 수신하지 못하는 현상을 수정하였다.
-
관련 이슈 : IMS 67971
-
-
cfgadd 기능 수행후 CLH의 hang 현상 (2012/04/04)
-
멀티 노드 환경에서 cfgadd 명령으로 서버를 추가할 때 CLH에서 Hang 현상이 발생하면서 클라이언트 또는 서버들의 요청을 정상적으로 처리하지 못하는 현상을 수정하였다.
-
관련 이슈 : IMS 63760
-
-
tmm fork 제어 기능 버그, ASQCOUNT 기동요청 지연처리의 경우 해당 요청이 취소되는 현상 수정 (2012/04/04)
-
tmm에서 ASQCOUNT에 의한 기동요청을 처리할 때 기존 fork를 처리 중인 프로세스 개수가 -F 옵션에 설정한 임계치에 도달해서 해당 요청에 대한 fork가 지연되었을 경우 이후 fork를 재개할 때 cur 값이 max에 도달했는지 체크하는 로직에 의해서 기동이 취소되는 현상을 수정하였다.
tmm fork 제어 기능 버그, ASQCOUNT 기동요청 지연처리의 경우 해당 요청이 취소되는 현상 및 일정 시간이 지난 후 TMM3033 "svr (svrname) booting time (10) is over" 에러가 발생하여 cur는 max에 도달했으나 실제 기동된 프로세스 개수는 cur보다 적은 상태가 발생하는 현상을 수정하였다.
-
관련 이슈 : IMS 65847
-
-
tmboot할 경우 일반 서버 그룹의 mksvr로 동적 추가된 서비스 목록 전달 중 tmm 비정상 종료현상 수정 (2012/04/04)
-
mksvr로 작성된 환경설정에는 존재하지 않는 동적 추가된 서비스를 포함하는 서버가 존재하고, 해당 서버가 COUSIN 그룹에 속하지 않는 구성일 경우(단일 서버 그룹이거나 백업 서버 그룹), 즉 멀티 노드 환경에서 특정 노드만 tmboot를 하면 tmm이 비정상 종료되는 현상을 수정하였다.
-
관련 이슈 : IMS 68699
-
-
tmdown -S 중 <Ctrl>+C 이후에 tmdown -S로 종료할 경우 서버가 재기동하는 현상 수정 (2012/04/04)
-
tmdown -S로 서버를 종료하던 도중 <Ctrl>+C로 중단하고, 다시 tmdown -s로 서버를 종료시키면 tmdown이 Hang이 걸리는 현상을 수정하였다.
-
관련 이슈 : IMS 68737
-
-
tmdown 중 <Ctrl>+C 이후에 tmdown -i로 종료할 경우 엔진이 종료되지 않는 버그 (2012/04/04)
-
tmdown 중 <Ctrl>+C로 중단한 다음, 다시 tmdown -i로 종료하면 tmm과 AP들만 종료되고 나머지 엔진이 종료되지 않는 현상을 수정하였다.
-
관련 이슈 : IMS 68742
-
2.2. 클라이언트/서버
-
TCS에서 svclog를 최소한 5분 뒤에 남기도록 보완
-
TCS 서버에서 svclog가 서비스 요청이 있을 경우 5분 후에 남을 수 있는 현상을 보완하여 5분 주기로 TMM에 svclog를 보내도록 수정하였다.
-
관련 이슈 : IMS 56485, 69246
-
-
TIP 서버 멀티 노드를 구성할 때 게이트웨이를 설정한 노드에서 TIP 서버가 기동되지 않는 현상 수정
-
cfl로 환경 파일을 작성하는 과정에서 발생한 오류로 정상 동작하게 수정하였다.
-
관련 이슈 : IMS 71844
-
-
서버에서 tp_sleep()을 호출하는 도중 tmadmin을 통해 cfgadd를 실행하면 tp_sleep()에서 대기하고 있지 않는 현상 수정
-
tp_sleep를 수행할 때 tmm으로부터 들어온 메시지가 있어도 tmm 요청을 처리하고, timeout의 나머지 시간만큼 대기하도록 수정하였다.
-
관련 이슈 : IMS 75771
-
-
XA 서버에서 tx_commit할 때 에러가 발생하는 현상 수정
-
XA 서버에서 tx_begin 이후 tpcall(TPNOTRAN) 호출하는 경우 검사하는 로직때문에 xa_end(SUSPEND)로 동작하면서 tx_commit시 에러가 발생하는 현상을 수정하였다.
-
관련 이슈 : IMS 75802
-
-
엔진은 64bit UCS 서버 라이브러리는 32bit를 사용하는 환경에서 UCS를 기동할 때 TRC5003 에러가 발생하는 현상 수정
-
32bit 라이브러리에서 64bit 엔진에서 사용하는 공유 메모리 사이즈 조정 버그로 인해 발생하는 현상
-
관련 이슈 : IMS 75150
-
-
MultiContext에서 context에서 tp_strat할 때 암호화를 중복 사용하는 경우 오류 패치
-
MultiContext를 사용하여 각 context에서 서로 다른 라벨로 환경 정보를 읽어 접속할 때나 일부 라벨에 암호화를 설정했을 때 tpstart 후 에러가 발생 종전에는 암호화 설정 여부가 context 마다 분리되어 있지 않았으므로 일부 context에만 암호화를 사용할 경우 설정상의 충돌 발생하며 이때 context 마다 암호화 설정 여부를 다르게 설정할 수 있도록 수정하였다.
-
주의 사항
암호화 사용 여부에 따라 client 환경 파일에 암호화를 설정해야 한다.
-
비암호화
TMAX_SEMANTICS="CRYPT_SW:N"
-
암호화
TMAX_SEMANTICS="CRYPT_SW:Y"
-
-
관련 이슈 : IMS 75976
-
-
TXTIME이 지난 후 tpcall(TPNOTRAN)이 호출되지만 리턴값으로 TPETIME을 주는 현상 패치
-
현재 TXTIME이 설정되어 있으면 서비스 안에 tx_begin 이후 수행 중인 TXTIME 이후의 요청(tpcall)들은 호출하지 않고 무조건 TPETIME을 주도록 동작하고 있다.
tpcall(TPNOTRAN)로 호출한 경우에는 TPETIME이 발생하지만 실제로 서비스가 호출되면 정합성에 문제가 발생하여 tpcall(TPNOTRAN)이라도 TXTIME 영향을 받아서 항상 호출이 되지 않도록 수정하였다. 단, tpacall(TPNOTRAN|TPNOREPLY)이 있을 경우에만 예외로 호출이 되도록 하였다.
-
주의 사항
암호화 사용 여부에 따라 클라이언트 환경 파일에 암호화하여 설정해야 한다.
-
관련 이슈 : IMS 68190
-
-
tmadmin API로 svcstat을 조회할 경우 NRDY가 RDY로 표시되는 현상 패치 (2012/04/04)
-
실제로 서비스 상태가 RDY, BLK 이외의 상태일 때 tmadmin API로 조회한 경우 RDY로 보이는 현상이 수정되었다.
-
관련 이슈 : IMS 42818
-
-
서비스를 호출할 때 tpreturn을 하지 않을 경우, 서비스가 RUN 상태로 Hang이 걸리는 현상 수정 (2012/04/04)
-
Tmax 서비스에 tpretrun이 없을 경우 해당 서비스를 호출할 때, RUN 상태로 Hang이 걸리는 현상과 클라이언트에서 TPEPROTO가 발생하도록 수정하였다.
-
관련 이슈 : IMS 66057
-
2.3. 관리도구
-
COUSIN 게이트웨이의 suspend / resume 버그패치
-
게이트웨이(twgw, tmgwnt 등)를 일반 서버 그룹을 이용하여 COUSIN으로 구성할 경우 묶은 일반 서버 그룹의 서버를 sp -v로 suspend할 때 게이트웨이는 suspend가 되지 않았다. 또한 게이트웨이를 sp -v로 suspend할 경우 해당 게이트웨이 서버만 suspend되었다. 이러한 COUSIN으로 구성된 게이트웨이의 suspend 비정상 동작을 수정하였다.
-
관련 이슈 : IMS 45659
-
-
tmadmin cfg -n, -g 에서 maxrstart 값 보여지도록 수정
-
cfg -n(노드 정보), -g(서버 그룹 정보)에도 RESTART=YES이면 각각의 maxrstart 값을 보여지도록 수정하였다.
-
-
관련이슈 : IMS-67759
-
st -s 정보 sort 옵션( -o )을 사용할 때 -x 옵션 결과 비정상 출력 수정
-
tmadmin st -o 옵션을 사용할 때 발생하는 다음과 같은 문제를 수정하였다.
-
tmadmin에서 st -s 혹은 -p 에서 추가 옵션인 -x(자세한 정보)와 -o(정렬) 옵션을 같이 사용하면 -x 옵션의 자세한 정보 중에 일부분이 보이지 않던 문제를 수정하였다.
-
st -p -x -o를 수행할 때에 -x에서 utime부터 smaxtime까지 먼저 출력하고 그 뒤에 일반 정보부터 보여주는 문제를 수정하였다.
-
-
관련 이슈 : IMS 69155
-
-
st -s로 조회하는 경우 -n 옵션 적용 안되는 현상 수정
-
-n 옵션 부분이 잘못 처리된 부분이 있다. 이 부분을 올바르게 수정하였다.
-
관련 이슈 : IMS 72444
-
-
ds 명령어의 Usage -c clid를 -c cli_id로 변경
-
ds 명령어의 Usage -c clid를 -c cli_id로 변경하였다.
-
관련 이슈 : IMS 74424, 79516
-
-
tmadmin chtrc, chlog에서 -g, -v 옵션을 동시에 주었을 때 에러 현상 수정
-
tmadmin에서 chtrc -g svgname -v svrname -s spec을 실행할 때 잘못된 현상을 수정하였다.
-
관련 이슈 : IMS 76320
-
-
tmadmin wsgwinfo 실행할 때 Hang이 걸리는 현상
-
연결된 WSGW가 없을 때 wsgwinfo를 실행할 때 Hang이 걸리는 현상을 수정하였다.
-
관련 이슈 : IMS 79458
-
-
Linux 64bit에서 txgwi, ntxgw하는 경우 포트가 잘못 표기되는 현상 수정
-
Linux 64bit에서 txgwi, ntxgwi하는 경우 네트워크 바이트 변환 문제로 포트가 잘못 표기되는 현상이 수정되었다.
-
관련 이슈 : IMS 79630
-
2.4. UTIL
-
twagent Core 로그 발생
-
webadmin 화면에서 로그 관리 메뉴 하위의 큰 용량의 파일을 클릭할 때 Core가 발생하는 문제를 수정하였다.
-
관련 이슈 : IMS 80424
-
-
tmadmin -n 리모트 노드(Linux) 실행할 때 socket connect error 발생
-
tmadmin -n 리모트 노드(Linux 머신)을 실행할 때 에러가 발생하지 않도록 수정하였다.
-
관련 이슈 : IMS 82830
-
-
tmboot -h에 -w 옵션 설명 추가
-
관련 이슈 : IMS 69364
-
-
cfl -r 기능 오동작 수정
-
CLH에서 maxuser 계산하는 방식의 변경을 적용하였다.
-
관련 이슈 : IMS 64318, 69731
-
-
fdlc 실행할 때 fdl number 값 범위 검사
-
fdlc 실행할 때 fdl number 값이 16777216 이상일 경우 에러 메시지를 출력하게 수정하였다.
-
관련 이슈 : IMS 71786
-
-
cfl 에러 메시지 수정
-
LOAD 값의 범위를 잘못 기입하고 cfl을 수행하는 경우 에러에 MIN 값이 0으로 표기되었던 부분을 -2로 표기되도록 수정하였다.
-
관련 이슈 : IMS 72741
-
-
tmd buffer type 잘못된 값을 지정하는 경우 Core 발생 현상
-
사용자가 입력한 데이터에서 잘못된 버퍼타입을 설정하여도 비정상 종료되지 않도록 수정하였다.
-
관련 이슈 : IMS 77980
-
-
cfl를 수행하는 경우 환경 파일에 UCS 서버가 LIFESPAN=IDLE_DOWN으로 설정되어 있을 때 에러가 발생하는 현상
-
LIFESPAN을 IDLE_DOWN 또는 DOWN 설정하여도 에러가 발생하지 않도록 수정하였다.
-
관련 이슈 : IMS 78830
-
-
tmadmin에서 st -p -x 할 경우, UCS_DYN의 cpc 부분이 pid를 정상 출력하지 못하는 오류 수정 (2012/04/04)
-
cpc가 2 이상인 UCS_DYN 서버를 tmadmin에서 st -p -x 로 조회하면 cpc에 해당하는 부분들의 pid가 0으로 출력되는 현상을 수정하였다.
-
-
racd에서 sleep으로 인해 tmadmin 처리가 늦어지는 현상 패치 (2012/04/04)
-
멀티 노드 환경에서 tmadmin 조회(racd를 통한 원격 연결)를 종료한 후 tmadmin을 재실행할 경우 지연 현상이 개선되었다.
-
관련 이슈 : IMS 64760
-
2.5. TDL
-
백업이 설정된 경우 tdlupdate 실행 중 shm_backup에 잘못된 global seqno 반영 현상
-
tdlupdate 실행 중에 global seqno 갱신 시점을 update 맨 뒤로 옮겨 발생하는 현상으로 global seqno가 변경된 후 shm_backup의 global seqno를 반영하도록 기능을 수정하였다.
-
해당 현상은 Tmax 5.0 SP1 r6303, Tmax 5.0 SP2 r6400 이후 버전에서 발생한 오류이다.
-
관련 이슈 : IMS 73527
-
-
urcode에 time(NULL), flags에 TDL_TRAN으로 tdlcall을 호출할 때 TDL_ENOLIB 에러가 발생하는 현상 수정
-
실제로 서비스 상태가 RDY, BLK 이외의 상태일 때 tmadmin API로 조회한 경우 RDY로 보이는 현상이 수정되었다.
-
관련 이슈 : IMS 79973
-
-
hash 함수 성능 개선
-
hash collision이 많을수록 tdlupedate 시간이 많이 걸리는 현상 해결을 위해 최신의 hash 함수를 적용하여 collision을 감소시키도록 기능을 개선하였다.
-
관련 이슈 : IMS 75196
-
-
MONITOR=Y |tdlshm -s e로 활성화된 경우에만 getrusage()와 gettimeoutday() 함수가 호출되도록 오류 수정
-
관련 이슈 : IMS 69713
-
-
tdlupdate 도중 tdlcall할 경우 정합성이 보장되도록 오류 수정 (2012/04/04)
-
tdlupdate 도중 tdlcall할 경우 신규 모듈이 호출되는 현상을 tdlupdate 완료 이후 호출되도록 수정하였다.
-
관련 이슈 : IMS 66057
-
2.6. TCP G/W
-
tcpgw에서 TPNOTRAN flag가 설정된 상태에서 reply할 때 TPNOTRAN 정보를 유지하는 문제 패치
-
tcpgw에서 tpforward, tpacall가 아닌 reply에 대해서는 TPNOTRAN 정보를 유지하지 않도록 수정하였다.
-
관련 이슈 : IMS 79119
-
-
TCPGWHDR 게이트웨이 클라이언트 종료 후 메시지를 출력하지 않는 기능 추가
-
user_thrmain() 함수에서 WTHR_NORMAL_RETURN 값으로 리턴하면 클라이언트 종료 로그를 출력하지 않는 기능 옵션을 추가하였다.
-
리턴값
옵션 설명 WTHR_ABNORMAL_RETURN
클라이언트 연결 종료하는 경우 에러 메세지를 출력한다.
WTHR_NORMAL_RETURN
클라이언트 연결 종료하는 경우 에러 메세지를 출력하지 않는다.
-
관련 이슈 : IMS 68120
-
2.7. TUXEDO G/W
-
SIGHUP 시그널을 받을 경우 종료되는 현상 수정
-
Tuxedo Gateway가 COUSIN으로 설정되어 있는 경우 채널 장애에 대해서도 정상 스케쥴링을 할 수 있도록 기능이 추가되었다.
-
CLOPT : "-l" 설정을 해야 동작 한다.
-
관련 이슈 : IMS 51608
-
-
Tuxedo Gateway COUSIN IRT 기능 추가
-
Tuxedo Gateway가 COUSIN으로 설정되어 있는 경우, 채널 장애에 대해서도 정상 스케쥴링을 할 수 있도록 기능이 추가되었다.
-
CLOPT : "-l" 설정을 해야 동작한다.
-
관련 이슈 : IMS 75505
-
-
Tuxedo Gateway TIMEOUT 옵션 추가
-
관련 이슈 : IMS 74567
-
-
Tuxedo Gateway CPU 사용률이 증가되는 현상 수정
-
Tmax Gateway에서 Tuxedo 도메인이 Gateway을 연결시도 도중 Tuxedo 도메인에서 연결을 거부할 때 Tuxedo G/W CPU(무한 select )의 사용율이 증가되는 현상이 수정되었다.
-
관련 이슈 : IMS 78018
-
-
Tuxedo의 전환용 fml32.h 헤더의 define 추가
-
추가 define
#define FMLTYPE FDL #define FLDLEN32 FLDLEN #define Ferror32 Ferror #define FLDID32 FLDID
-
관련 이슈 : IMS 67678
-
-
Tuxedo Gateway에서 정의되지 않은 서비스를 호출할 경우 TPETIME 발생 현상 수정 (2012/04/04)
-
Tuxedo에 정의되지 않은 fml type 서비스를 호출하면 발생하는 TPETIME 오류를 TPESYSTEM이 발생하도록 수정되었다.
-
관련 이슈 : IMS 65904
-
2.8. JEUS Gateway
-
JEUS 타입의 Gateway로 요청하는 경우 alive check하는 중 들어온 요청(tpcall, tpacall 등의 모든 요청)에 대해서 무조건 실패로 응답하는 현상 수정
-
관련 이슈 : IMS 75825
-
-
jeusgw Async Gateway의 CLOPT에 [-a] 옵션 사용할 때 지정된 파일이 없으면 jeusgwa가 무한 재기동 현상 수정
-
관련 이슈 : IMS 71122
-
-
jeusgw Async Gateway의 CLOPT에 [-H] 옵션 추가
-
[-H]을 사용하는 경우 로그 레벨 -D 4에서 alive check할 때 메시지 미출력되도록 기능이 추가되었다.
-
관련 이슈 : IMS 70952
-
-
jeusgw Async Gateway의 CLOPT의 CDATE 매크로가 날짜가 변경할 때 즉시 반영되도록 수정
-
관련 이슈 : IMS 70952
-
2.9. Domain Gateway
-
Domain Gateway가 Fail-Over되지 않는 현상
-
Domain Gateway(TMAXNONTX)의 Fail-Over가 정상동작하지 않고 (TPENOREADY)가 발생하는 현상을 수정하였다.
-
관련 이슈 : IMS 77388
-
-
xid가 2147483647을 넘어가서 호출되는 경우 리모트 도메인(트랜잭션 GW)에서 CLH 채널을 선택하지 못하여 에러가 발생하는 문제
-
xid가 2147483647을 넘어가서 호출되는 경우 리모트 도메인(트랜잭션 GW)에서 CLH 채널을 선택하지 못하는 문제를 수정하였다.
-
관련 이슈 : IMS 81275
-
-
TMAXNONTX G/W의 connect를 시도할 때 특정 상황에서 소켓을 해제하지 않는 오류 발생
-
non-block connect 기능 추가 후 다음과 같은 문제를 수정하였다.
-
-i 옵션이 없이 사용하는 경우 요청마다 연결 중인 소켓을 close하지 않고 새로운 소켓을 만들어 내는 문제
-
-i 옵션 사용이나 GWCHKINT를 사용할 때 GWCONNECT_TIMEOUT이 NLIVEINQ나 GWCHKINT보다 클 경우에 소켓을 close하지 않고 새로운 소켓을 만들어 내는 문제
-
-
관련 이슈 : IMS 74015
-
-
TMAXNONTX G/W에서 연결 시도한 fd가 실패할 경우에 해당 fd를 close 하지 않던 문제 수정
-
Non-block 방식으로 변경한 TMAXNONTX G/W에서 연결 시도한 fd가 실패할 경우에 해당 fd를 close하지 않던 문제를 수정하였다.
-
관련 이슈 : IMS 76255, 83271
-
-
게이트웨이 요청 건수가 268435456 이상일 경우 TMAX_TRACE를 ON시키는 문제 수정
-
게이트웨이에서 기동 이후 요청 건수가 268435456가 넘을 경우 TMAX_TRACE를 ON으로 설정하지 않았는데 Trace 로그가 ULOG로 출력되는 문제를 수정하였다.
-
관련 이슈 : IMS 77057
-
-
COUSIN Gateway Load Balancing 오류 수정
-
아래와 같은 환경에서도 B Domain에서의 LOAD 값에 맞게 분산을 시켜주도록 수정하였다.
-
A Domain, B Domain의 환경 SVCA가 A Domain에서 COUSIN Gateway으로 설정되고 B Domain에서 COUSIN으로 설정되어 있는 경우 SVCA가 B Domain으로 게이트웨이를 통해서 스케쥴링되었을 경우에는 LOAD 값에 상관없이 B Domain의 수신한 노드에서 처리되도록 하는 방식으로 처리된다.
-
-
관련 이슈 : IMS 75689
-
2.10. HOSTLINK
-
HostLink lu62sgw에서 commarea size, trxid가 혼합되는 현상 수정
-
Tmax에서 Mainframe으로 lu62sgw를 통해서 요청하는 경우 운영 중 commarea size와 trxid가 원본과 다른 데이터를 수신받는 현상을 수정하였다.
-
관련 이슈 : IMS 77857
-