How to Configure Error Handling in the ERRORS.PROPERTIES File

  • 7019154
  • 27-Oct-2014
  • 07-Aug-2017

Environment


Retain 3.x / 4.x
GroupWise

Situation


I'm getting ea01 errors (or other errors such as d01b, etc) in my jobs and its preventing the advancement of the retention flag.  I do not care about those items and I'm willing to deal with the minor data loss.  How can I get Retain to ignore the errors and advance the flag?

Resolution


The following instructions only applies to GroupWise jobs - it does not affect Exchange jobs or jobs for other modules. This is done through the errors.properties file found under each Worker directory and is found here for the default first instance of the Worker:

Linux

/opt/beginfinite/retain/RetainWorker/WEB-INF/classes/config.


Windows

C:\Program Files\Beginfinite\Retain\RetainWorker\WEB-INF\classes\config.


1.  Go to near the bottom of the file where you'll see this:

# Next, an example of an override for a particular code.
#code.c081=total,noabort,adderror,nopreventadvance,logspecial,nothrow,replaceblob
code.c081=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.920c=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.8e03=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.d107=noabort,nopreventadvance,logspecial,nothrow,replaceblob

2.  The easiest way to add another error handling instruction line is to copy the bottom one and paste it in a new line, replacing the error code with the one you want to have the Worker ignore.  It should look like this when you are done:

# Next, an example of an override for a particular code.
#code.c081=total,noabort,adderror,nopreventadvance,logspecial,nothrow,replaceblob
code.c081=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.920c=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.8e03=noabort,nopreventadvance,logspecial,nothrow,replaceblob
code.d107=noabort,nopreventadvance,logspecial,nothrow,replaceblob

code.ea01=noabort,nopreventadvance,logspecial,nothrow,replaceblob


Note:  Prior to Retain 3.5, the default option for the errors was using "throw".  Support strongly recommends changing that to "nothrow".  We also recommend removing the 8e03 error, as this can be corrected by running GWCheck.



Error Handling Settings Explanation

In the following table, the list of error handling options is defined.  If the instruction is not specified for an error code, it goes to the default setting.
 

total / nototal Should the total error count be incremented?  If set to "total", the error count will be incremented and displayed in the Worker console's error count.  DEFAULT:  total 
abort / no abort Should an error be added to the maximum job error count, which - when exceeded (default is 10) - causes the job on a given mailbox to abort and move onto the next mailbox?  DEFAULT:  abort
adderror / noadderror Should the error be appended to the errors list sent via email to the email address set up under "Notifications" for the job? 
DEFAULT:  adderror
preventadvance / nopreventadvance Should the error prevent the advancement of the retention flag?  DEFAULT: preventadvance
lognormal / lognone / logspecial This controls how the error is logged.  Lognormal will log it as an error in the log.  Lognone supresses the error.  Logspecial causes it to be logged as a warning.  DEFAULT:  lognormal
throw / nothrow Should we stop archiving the item when an error occurs or should we continue on?  When "throw" is set, the reference to the attachment will be missing altogether if Retain could not archive it.  Thus, if the item were to be opened in the Retain mailbox, there would be no attachment associated with the item. In addition, if there are other attachments in that message that have not yet been processed, Retain will not attempt to archive them.  It aborts the item.  The message always gets processed first, so it makes it into Retain; but, for example, if it has two attachments and the first attachment it processes has the error, the "throw" option causes the processing of the item to abort and move onto the next message, leaving the second attachment unprocessed as well. 

With "nothrow", Retain will either replace the attachment with an empty file (emptyblob) or the file will have a short error message written into it (replaceblob)  and then it moves on to archive the other attachments. This has a limited scope to just attachments.  DEFAULT: nothrow.
replaceblob / emptyblob

Should we replace the attachment with a short error message (replaceblob) or with an empty file (emptyblob)?  This is only relevant in cases where "nothrow" is active.  So, even if you specific "emptyblob" or "replaceblob", it ignores that setting if "throw" is used.  Again, the replaceblob/emptyblob settings only take affect when the "nothrow" option is also used. 

The filename will have .txt appended to it and the content type will be changed to "text/plain".  This prevents issues with indexing, viewing, and forwarding. 

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2393.