CICS region报U4419错误信息并down

版本描述

TXSeries/CICS v5.1

CUC 2.0 for Sco unixware

问题描述

CCPC大额支付系统和小额支付系统CICS ServerU4419错误信息并宕机。重启CICS Server后系统恢复正常。

该问题在最先在某CCPC大额支付系统发生,后曾经在另外CCPC小额支付系统出现一次,问题发生频率没有规律。

问题分析

IBM CICS实验室已经重现了此问题,通过搜集相关日志信息并加以分析,此问题已被定位为CICS的一个缺陷。引起问题的根本原因是:两个cicsas同时操作了一个相同的通讯定义和XD定义。用户在CICS客户端配置文件CTG.INI中指定client名字和客户端与CICS服务器。

下面为IBM CICS实验室提供的详细分析记录:

1. 当CICS 客户端在CTG.INI中指定一个客户端名,比如ABCD.

2. 连接CICS 客户端到CICS 域,CICS为此连接(称为A)安装了一个通讯定义(CD),名称为CTG.INI中指定的ABCD,对应也安装了一个XD entry(XD为CICS 内部数据结构,对应CD Entry)。

3. CUC客户端启动了几个CICS 服务器交易。

4. CUC客户端和CICS服务器之间的网络断开。

5. 运行在CICS域中的交易完成后,试图ping CUC客户端,发现网络已断开,ping失败。运行CICS交易的cicsas进程试图卸载CD和XD entry,由于存在其它对应连接A的交易仍在运行,所以无法删除CD entry,报"Entry in Use"错。 cicsas发出清除所有使用相同ABCD entry的运行CICS交易调用 ,然后等待5秒钟,再去清除CD entry。cicsas 会重试12次。12次之后,如果仍然不能删除,将放弃删除CD ENTRY,假设下一次从相同客户端发出连接请求时,会删除此CD Entry。

6. 从同一个客户端又发出连接CICS server的connection B请求,试图安装ABCD entry,发现ABCD entry仍然存在,检查connection A是否存在,发现connection A已经停止,则试图卸载CD Entry ABCD,它成功的删除了对应connection A的CD 入口 ABCD,安装对应connection B的CD Entry ABCD 和一个新的XD Entry。这时,试图卸载对应connection A的CD Entry的cicsas(步骤5)醒过来,以为新的CD Entry还是对应原来的connection A,于是删除了此CD Entry(名为ABCD)。这样,就出现了存在XD Entry,但没有对应的CD Entry,有激活的connection,但没有对应CD Entry的情况。此为一个意外事件。

7. CUC客户端和TXSeries服务器之间的连接又断掉了。

8. 此CUC 客户端重新又启动和CICS服务器之间的连接,称为C连接。这个新的连接C试图安装一个新的CD Entry(ABCD),由于对应connection B的CD Entry已经被删掉,所以连接C安装了一个CD Entry和一个对应的XD Entry。

9. 从连接B提交上来的CICS交易检测到连接B已经中止,试图删除CD Entry和XD Entry,在删除XD Entry时,它删除了步骤8中对应连接C的XD Entry,而它本应该清除步骤6中留下的对应连接B的XD Entry。

10. 负责处理连接C的cicsip线程试图访问对应连接C的XD Entry,却发现此XD Entry已经删除,这直接导致了U4419宕机错误。

IBM实验室建议解决方案

IBM CICS实验室建议在CICS域的environment文件中设置如下环境变量

CICS_KEEPONDELETINGCONNECTION=1

重新温启CICS region使之生效。

CICS环境变量CICS_KEEPONDELETINGCONNECTION可以起到下面作用

1. 在详细分析记录步骤5可以不再有12次的尝试限制这确保所以对应连接ACICS交易在完成后会把对应连接ACD Entry删掉。

2. 在详细分析记录步骤6安装连接Bcicsas发现如果有同名的CD Entry存在将放弃安装新的CD EntryA42K 反常中止不会试图删除CD Entry。这两步确保了我们不会再遇到从CUC客户端发起的连接是激活的,但还对应有XD Entry的情况。 这样就去除了引起U4419的根本原因。

总结如下,最基本的问题是2个cicsas试图删除相同的CD Entry,这导致了CD Entry数据结构的不一致。CICS_KEEPONDELETINGCONNECTIONS同步了对CD Entry的删除插入动作,保持了CD Entry和XD Entry的一致性 。

IBM CICS实验室使用此方法,解决了在实验室环境重现的U4419问题。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/67233/viewspace-904971/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/67233/viewspace-904971/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值