From the screen of iCluster's WRKCSMON command, I notice only one file being suspended. This file is being journalled to iCluster's HADJRN journal. (Most files have their own journals created by the application itself.) When I look at iCluster job (with a name of the replication group I create) at the Backup node that covers this suspended file, I find many instances of the following message in its job log :
Message ID . . . . . . : CPF4759 Severity . . . . . . . : 30
Message type . . . . . : Sender copy
Date sent . . . . . . : 25/08/23 Time sent . . . . . . : 22:15:01
Message . . . . : Write operation to member PZFACTJB failed. (C I)
Cause . . . . . : The write operation failed because a record at relative
record number 10 of member PZFACTJB file PZFACTJB in library LIBA
already exists.
Recovery . . . : Type C to cancel the job or type I to ignore the request
to write and continue the job. For some applications, you may change the
relative record number and try the request again.
Possible choices for replying to message . . . . . . . . . . . . . . . :
C -- The request is canceled.
I -- The request is ignored.
This surprises me as I could not understand why iCluster writes to the target file at the Backup node with RRN? What is the reason to use write with RRN? Am I correct to assume this happen only for a special reason?
------------------------------
Satid Singkorapoom
IBM i SME
Rocket Forum Shared Account
------------------------------
Hi Satid,
Thank you for the question.
First let me say that it appears from the message issued that you have shared that the file PZFACTJB is out of sync and needs to be resynced. iCluster provides several methods for syncing a file which you are probably familiar with. Unless this file is very large and needs special handling the easiest method to resync the file would be to activate the file with a 'refresh' action. Command similar to this: DMACTOBJ GROUP(ABCGROUP) OBJ(SMEU3PYZW/PZFACTJB) OBJTYPE(*FILE) will initiate the REFRESH action. Once the resync is complete, normal replication will resume.
I would also suggest, although not required, that you set up a default journal for each replication group that is outside the iCluster library. In the future, maintenance and backing up the iCluster library will be much less painful if you avoid using the HADJRN and HABSFJRN in the iCluster library.
To answer your question regarding RRN, this is the method iCluster uses (as default) to update the target file. Relative Record Number can be relied upon to update the target file and keep the replication with a high degree of accuracy. iCluster does support keyed replication however the configuration is much more complex and requires the file(s) have an index for referencing the correct record. RRN replication is very easy for you to manage and provides an indication when the files are out of sync when an update fails.
------------------------------
Mark Watts
Software Engineer
Rocket Software Inc
Waltham MA US
------------------------------
Hi Satid,
Thank you for the question.
First let me say that it appears from the message issued that you have shared that the file PZFACTJB is out of sync and needs to be resynced. iCluster provides several methods for syncing a file which you are probably familiar with. Unless this file is very large and needs special handling the easiest method to resync the file would be to activate the file with a 'refresh' action. Command similar to this: DMACTOBJ GROUP(ABCGROUP) OBJ(SMEU3PYZW/PZFACTJB) OBJTYPE(*FILE) will initiate the REFRESH action. Once the resync is complete, normal replication will resume.
I would also suggest, although not required, that you set up a default journal for each replication group that is outside the iCluster library. In the future, maintenance and backing up the iCluster library will be much less painful if you avoid using the HADJRN and HABSFJRN in the iCluster library.
To answer your question regarding RRN, this is the method iCluster uses (as default) to update the target file. Relative Record Number can be relied upon to update the target file and keep the replication with a high degree of accuracy. iCluster does support keyed replication however the configuration is much more complex and requires the file(s) have an index for referencing the correct record. RRN replication is very easy for you to manage and provides an indication when the files are out of sync when an update fails.
------------------------------
Mark Watts
Software Engineer
Rocket Software Inc
Waltham MA US
------------------------------
Dear Mark
>>>> I would also suggest, although not required, that you set up a default journal for each replication group that is outside the iCluster library. In the future, maintenance and backing up the iCluster library will be much less painful if you avoid using the HADJRN and HABSFJRN in the iCluster library. <<<<<
Does this mean that I explicitly specify the default database journal name rather than *CLUSTER in DMADDGRP command ?

------------------------------
Satid Singkorapoom
IBM i SME
Rocket Forum Shared Account
------------------------------
Dear Mark
>>>> I would also suggest, although not required, that you set up a default journal for each replication group that is outside the iCluster library. In the future, maintenance and backing up the iCluster library will be much less painful if you avoid using the HADJRN and HABSFJRN in the iCluster library. <<<<<
Does this mean that I explicitly specify the default database journal name rather than *CLUSTER in DMADDGRP command ?

------------------------------
Satid Singkorapoom
IBM i SME
Rocket Forum Shared Account
------------------------------
Hi Satid,
Yes sir. Typically, a separate and unique default journal for each replication group for both database and BSF.
You can also change the system default for default database journal and default BSF journal so that even if some group gets created without the override for default, journal usage is pointed away from the iCluster library. Again, your config is not wrong however your future maintenance will be eased with this adjustment. As soon as the default value is successfully changed, any future encounter for an object to be journaled by iCluster will be directed to the specified default. This capture is from page 4 of the DMSETSVAL command.

You can later review the objects journaled to the destination in the library ICLUSTER and redirect them to the to the desired location. One example approach is to end journaling for the file. That file would then become suspended from the action. Then ACTIVATE the file with a refresh and during the process the file would be journaled to your new specified default location. You should review the size of the object(s) and whether it is exclusively locked by the application before taking action so that you do not cause yourself more grief than just leaving it on its assigned journal. On occasion it is better to attempt the cleanup over the weekend when the application is less active. Just remember that you are adjusting the configuration to make life easier and if it looks like that task is not going to be easily accomplished, spend a bit more time planning the best approach.
------------------------------
Mark Watts
Software Engineer
Rocket Software Inc
Waltham MA US
------------------------------