Dropping a collection from a distributed relational database
Attempting to delete a collection that contains journal receivers might cause an inquiry message to be sent to the QSYSOPR message queue for the application server (AS) job. The AS and application requester (AR) job wait until this inquiry is answered.
The message that appears on the message queue is:
- CPA7025
- Receiver (name) in (library) never fully saved. (I C)
When the AR job is waiting, it might appear as if the application is hung. Consider the following items when your AR job has been waiting for a time longer than anticipated:
- Be aware that an inquiry message is sent to QSYSOPR message queue and needs an answer to proceed.
- Have the AS reply to the message using its server reply list.
When the application is in this apparent endless-loop state, the application requesting job will wait until the inquiry message on the system has been answered. This is because journal receivers cannot be moved to another library by using the Move Object (MOVOBJ) command. They also cannot be saved and restored to different libraries. All you can do is to create a new journal receiver in a different library, using the Create Journal Receiver (CRTJRNRCV) command, and attach it to the journal, using the Change Journal (CHGJRN) command. Any new journal receivers that are created by the system, using the Change Journal (CHGJRN) command with the JRNRCV(*GEN) parameter, are created in the new library. If, when the journal is saved, the attached receiver is in another library, then when the saved version of the journal is restored, the new journal receivers are also created in the other library.
Having the AS reply to the message using its server reply list can be accomplished by changing the job that appears to be currently hung, or by changing the job description for all AS jobs running on the system. However, first add an entry to the AS reply list for message CPA7025 using the Add Reply List Entry (ADDRPYLE) command:
ADDRPYLE SEQNBR(...) MSGID(CPA7025) RPY(I)To change the job description for the job that is currently running on the AS, use the Submit Remote Command (SBMRMTCMD) command. The following example shows how the database administrator on one system in the Kansas City region changes the job description on the KC105 system (the system addressed by the TEST/KC105TST DDM file):
SBMRMTCMD CMD('CHGJOB JOB(KC105ASJOB) INQMSGRPY(*SYSRPYL)') DDMFILE(TEST/KC105TST)You can prevent this situation from happening on the AS more permanently by using the Change Job Description (CHGJOBD) command so that any job that uses that job description uses the server reply list. The following example shows how this command is entered on the same AS:
CHGJOBD JOBD(KC105ASJOB) INQMSGRPY(*SYSRPYL)This method should be used with caution. Adding CPA7025 to the server reply list affects all jobs which use the server reply list. Also changing the job description affects all jobs that use a particular job description. You might want to create a separate job description for AS jobs.
Parent topic:
Administration
Related concepts
Journal management
Managing work
Related reference
Add Reply List Entry (ADDRPYLE) command
Change Job Description (CHGJOBD) command
Change Journal (CHGJRN) command
Create Journal Receiver (CRTJRNRCV) command
Move Object (MOVOBJ) command
Submit Remote Command (SBMRMTCMD) command