]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix #7262 About adding MaximumJobErrorCount FileDaemon directive
authorMichal Rakowski <michal.rakowski@baculasystems.com>
Tue, 26 Jan 2021 09:49:49 +0000 (10:49 +0100)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:02:59 +0000 (09:02 +0100)
bacula/src/filed/backup.c
bacula/src/filed/filed_conf.c
bacula/src/filed/filed_conf.h

index b9ec0e63b6752ff41bdc6614752e4346fc9011f3..d5a58a8af3ff1d31a94537e5f65b9c5f70ef3ac6 100644 (file)
@@ -713,7 +713,7 @@ finish_sending:
       berrno be;
       Jmsg(jcr, M_ERROR, 0, _("Read error on file %s. ERR=%s\n"),
          bctx.ff_pkt->snap_fname, be.bstrerror(bctx.ff_pkt->bfd.berrno));
-      if (jcr->JobErrors++ > 1000) {       /* insanity check */
+      if (jcr->JobErrors++ > me->max_job_errors) {       /* insanity check */
          Jmsg(jcr, M_FATAL, 0, _("Too many errors. JobErrors=%d.\n"), jcr->JobErrors);
       }
    } else if (bctx.ff_pkt->flags & FO_ENCRYPT) {
index ec831559f88d03ae664cfa10f347ff77bd73f2d5..1720d4e7430e0b76ab74ad266f57bfe825b3f4b6 100644 (file)
@@ -117,6 +117,7 @@ static RES_ITEM cli_items[] = {
    {"MaximumBandwidthPerJob",store_speed,   ITEM(res_client.max_bandwidth_per_job), 0, 0, 0},
    {"CommCompression",       store_bool,    ITEM(res_client.comm_compression), 0, ITEM_DEFAULT, true},
    {"DisableCommand",        store_alist_str, ITEM(res_client.disable_cmds), 0, 0, 0},
+   {"MaximumJobErrorCount",  store_pint32,    ITEM(res_client.max_job_errors),  0, ITEM_DEFAULT, 1000},
 #if BEEF
    {"DedupIndexDirectory",   store_dir,    ITEM(res_client.dedup_index_dir), 0, 0, 0}, /* deprecated */
    {"EnableClientRehydration", store_bool,    ITEM(res_client.allow_dedup_cache), 0, ITEM_DEFAULT, false},
index ed410edcc8fc6eeacc69ea0cb2af704d5cbc6ca0..0d3e380e8697c547934dd69c96339217e5bec7a0 100644 (file)
@@ -135,6 +135,7 @@ struct CLIENT {
    utime_t SDConnectTimeout;          /* timeout in seconds */
    utime_t heartbeat_interval;        /* Interval to send heartbeats */
    uint32_t max_network_buffer_size;  /* max network buf size */
+   uint32_t max_job_errors;           /* Maximum number of errors tolerated by the client to fail the job */
    bool comm_compression;             /* Enable comm line compression */
    bool pki_sign;                     /* Enable Data Integrity Verification via Digital Signatures */
    bool pki_encrypt;                  /* Enable Data Encryption */