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 server job. The server and client jobs 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 client job is waiting, it might appear as if the application is hung. Consider the following items when your client 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 server reply to the message using its server reply list.
Note: 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 server 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 server jobs running on the system. However, you must first add an entry to the server 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 server, 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 server 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 server:

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 server jobs.