关于如何重现file member lock错误[CPF3130]

时间:2016-11-22 ┊ 阅读:5,399 次 ┊ 标签: 经验 , 系统 , 问题

这几天一直被一个job的小file lock问题困扰,本来是一个小得不能再小的问题,一个临时的file lock,只需要加点监控error message id,然后做异常处理就ok了,不过问题是一直无法重现这个lock。

通常我们遇到的是file lock,这次这个file lock有点不一样,是file member lock。

17800 - CLRPFM FILE(test/TEMPO080)
Member TEMPO080 already in use.       

按f1进去看到:

Message ID . . . . . . :   CPF3130       Severity . . . . . . . :   40        
Message type . . . . . :   Escape                                             
Date sent  . . . . . . :   22/11/16      Time sent  . . . . . . :   17:59:52  
                                                                              
Message . . . . :   Member TEMPO080 already in use.                           
Cause . . . . . :   Member TEMPO080 file TEMPO080 in library test is       
  already opened or allocated.                                                
Recovery  . . . :   Try the request again when member TEMPO080 and all logical
  members based on member TEMPO080 are available.   

用尽各种办法,其中包括现在用的方法,都没法重现CPF3130,只能是file lock,error message id是CPF3156:

CPF3156
File &1 in library &3 in use.

为什么说现在的办法也用之前却没有重现出来呢,因为这个是程序内的,之前也想到过这个原因,就用了2个job,来跑看相互咬时能不能重现,结果出现的lock都是file lock,就是上面这个CPF3156。只能是在同一个程序里才能重现这个file member lock,切记!切记!切记!

在这不得不再次吐槽一下百度搜索,真是啥也搜索不到啊,不信你试试搜索cpf3130或cpf3156,看看除了广告还有什么有用的东西出来!bing都比它强百倍!再次怀念谷歌。

原来这是一个程序内的lock。我们都知道clp程序是由很多命令集合组成的,我们可知道其实在400系统之初这些命令都是由更细小的命令组成的。比如我们runsqlstm,以后可能要分好几步的,而在这几步完成之前,但这时control可能已经交给下一句代码命令了,因为系统内部命令没有结束(比如正在重建access path)member是被lock的,这时就抛出了CPF3130错误了。

runsql可是一瞬间的事,不好重现。
只好read file,read一条后,因为没有end of file,这时member 也是lock的,这时尝试clear pf,果然cpf3130出来了!

dclf tempo080
rcvf tempo080

至此,error重现工作完成了。
CPF3130A.png
CPF3130B.png

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

Whatsapp只能查看最近三天的聊天记录了怎么办?

Whatsapp只能查看最近三天的聊天记录了怎么办?

今天突然发现电脑上的WhatsApp只能查看最近3天的聊天记录了,显示要查看3天前的记录请到手机上查看。很是吃惊,以前一直是所有记录都自动同步到电脑版的啊,不论换电脑了还是换手机了,聊天记录从来没丢过。 查询一翻也没有找出来原因,怎么也同步不过去。 电脑版app重新安装了,也不行。 有个方法说...
阅读全文>>
ValueError: Error getting directory

ValueError: Error getting directory

ssl证书过期了 明明自动renew的 然后看log已经好久没更新成功了 查半天是当前server不信任远程连接 只能自己改代码 报错: 21-12-17 13:01:11 Generate CSR...amkevin.csr amkevin.csr generated. /home/www...
阅读全文>>
网页路径中的'.'和'..'还有'./'和'../'区别

网页路径中的'.'和'..'还有'./'和'../'区别

. 表示当前目录 .. 表示当前目录的上一级目录。 ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定 ../表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。 例如: 文件夹 a 下面有 文件夹b c 和文件 d。 文件夹b下面有e.php 和文件f。 则e中的 . 表示...
阅读全文>>
Introduction to ILE RPG Activation Groups

Introduction to ILE RPG Activation Groups

Learn how activation groups can help your ILE RPG programs run more efficiently, how to specify the type of group to use, and closing and reclaimin...
阅读全文>>
T480自动关机无法启动(解决办法)

T480自动关机无法启动(解决办法)

周五升级更新后,用一会就关机,还开不了,怎么按开机键也没有反应。 周六折腾一上午,拔电源,断电,20秒复位,把电池都拿下来了。都不行。 下午实在没办法了,给售后打电话让拿去检测一下。 然后拿售后去了,给检测一会没问题,说内存不干净给擦一下好了,开机正常了。 付款50块检测费,开心的拿回家,一...
阅读全文>>