The problem was resolved changing protocol with metaplugin. Now we can use Q messages. That it's means that is not fatal error and it continues the backup
def send_error(self, message):
self.send_packet(STATUS_ERROR, message)
+ def send_non_fatal_error(self, message):
+ self.send_packet(STATUS_NON_FATAL_ERROR, message)
+
def send_warning(self, message):
self.send_packet(STATUS_WARNING, message)
STATUS_DATA = "D"
STATUS_ABORT = "A"
STATUS_ERROR = "E"
+STATUS_NON_FATAL_ERROR = "Q"
STATUS_WARNING = "W"
STATUS_INFO = "I"
git_version=data.git_version,
))
+ def _handle_non_fatal_error(self, error_message):
+ if self._params.get("abort_on_error", None) == "1":
+ self._io.send_abort(error_message)
+ self._abort()
+ else:
+ self._io.send_non_fatal_error(error_message)
+
def _handle_error(self, error_message):
if self._params.get("abort_on_error", None) == "1":
self._io.send_abort(error_message)
self.tarstderr = self.tarstderr.rstrip('\n')
# classify it as error or warning
if self.tarexitcode != '0':
- self._handle_error(self.tarstderr)
+ self._handle_non_fatal_error(self.tarstderr)
else:
self._io.send_warning(self.tarstderr)