× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Robert,

The CPF7306 is not helpful; it is a "summary" *ESCAPE message.

You want to drill down into the details of that MCH5802 ... when I issue DSPMSGD MCH5802, I see this:

                         Display Formatted Message Text                         
                                                             System:   S1234567
 Message ID . . . . . . . . . :   MCH5802                                       
 Message file . . . . . . . . :   QCPFMSG                                       
   Library  . . . . . . . . . :     QSYS                                        
                                                                                
 Message . . . . :   Lock operation for object &1 not satisfied.                
 Cause . . . . . :   The lock operation was not satisfied for object &1 in the  
   specified time interval of &2 seconds. The lock holder type is &3. The lock  
   holder name is &4. The lock holder thread identifier is &5.                  
     The lock holder type has the following meaning:                            
     0 - The lock holder is a Licensed Internal Code (LIC) task.  The lock      
   holder name and thread identifier do not apply.                              
     1 - The lock holder is a job.                                              
     2 - The lock holder is a transaction control structure.  The lock holder   
   name and thread identifier do not apply.                                     
                                                                                
                                                                                
                                                                                
                                                                         Bottom 
 Press Enter to continue.                                                       
                                                                                
 F3=Exit   F11=Display unformatted message text   F12=Cancel                    
What values do you see for those substitution variables (&1, &2, etc.)?                                                                                
Hope that helps,                                                                                

Mark S. Waterbury


On Friday, April 21, 2023 at 11:46:19 AM EDT, Robert Wenzel <robert.wenzel@xxxxxxxxx> wrote:

Sorry for the lengthiness of the post but wanted to elaborate on the issue
and all the steps taken so as not to get questions back for things we have
already tried.

We have a multi-member file in a library that is shared across multiple
library lists in a multi-tenant LPAR.  Jobs often run the same
RPGLE program at the same time whose function is to add a new member to the shared file.  This process is run in a client-specific single threaded job queue so the program can run concurrently between "clients".  It has been performing amicably in this batch process for many years without issue.

We are at 7.4 O/S and have installed PTFs in March for a QTEMP cataloguing issue but the file in question, here, is not a QTEMP file.

The number of members in the subject file is monitored daily to remove very old members so that we do not exceed the max member limit.

Recently, several jobs threw an MCH5802 escape message (Lock operation for object &1 not satisfied) from program RmslLockMiObject which culminated in a CPF7306 escape message (Member &1 not added to file &2 in &3.).

A monitor-endmon block was added to the RPG program but we have been unable to test and recreate the error even when we issue an ALCOBJ command with lock state *EXCL on a second workstation.  We have also tried using CHGPF and RGZPFM to create a lock on the file, yet the ADDPFM command in the RPG still creates a member (does not throw the lock error).

FYI, when we try to use DBU on that file, after the ALCOBJ command, it
throws (CPF3203) "Cannot allocate object for file &1 in &2."  Also, when we created a CLLE program to be called from the RPGLE program to perform the ADDPFM statement, it still creates the member in the subject file and does not throw any errors.

Does anyone have any advice on how to get a lock on the file that will
create a CPF7306 error?

*Robert Wenzel, Senior Software Engineer*
iSeries Applications Support and Development

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.