Informent/Error Threshold increase.html

From Meta, a Wikimedia project coordination wiki

To raise an error threshold, you first have to have a row for the error code in T_ERROR_CLASSIFICATION. Raising the –E parameter on the job will do nothing unless there is a row for the specific error in the table. The following is an example of an insert for the error encountered here. If the row doesn’t exist, you will see “The database error code [-01722] is not defined as non-fatal in T_ERROR_CLASSIFICATION” in the log. By making the insert, you allow the executable named in the table to consider the error code as NON-FATAL.


Associated Bank (David) - LD_JCORE_TRADE failed with a bad record. A row was inserted into T_ERROR_CLASSIFICATION for the ORA-01722 error, and the error threshold was raised to 10. The original file was ET’d and loaded, but failed with more than 10 bad records. The error threshold was raised to 1000, and the load restarted. It completed successfully, bypassing 690 bad records. The error threshold was returned to 0.


ERR: 30-May-12 21:06:56: File sqlfunc.c Line 2528: 6871, GetSqlErrorTxt: Abstraction layer encountered the following error: ORA-01722: invalid number ERR: 30-May-12 21:06:56: File sqlfunc.c Line 16970: 8181, Rejecting record 6175 -- cannot apply to table T_TEMP_TRADES. Error code was -1722.


Insert into t_error_classification values ('loadman','ORA','<Error Number>','NONFATAL','temp','M999');

In this case the error number is -01772, so the statement would be

Insert into t_error_classification values ('loadman','ORA','-01722','NONFATAL','temp','M999');

Once the row exists, you can set the –E0 parameter, in most cases this will be set to 10 or 50, in some rare instances this will be set to 10000.