[pve-devel] [PATCH common 4/4] restenv: catch broadcast_tasklist errors gracefully
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Jul 25 15:32:23 CEST 2017
Don't die because the tasklist could not be broadcasted, just log the
error.
Else we may hinder all task to run with a quite confusing error (i.e.
"ipcc_send_rec: file to big").
This may happen if there are a lot currently running tasks at once.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/RESTEnvironment.pm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm
index 06270d2..c423520 100644
--- a/src/PVE/RESTEnvironment.pm
+++ b/src/PVE/RESTEnvironment.pm
@@ -48,7 +48,8 @@ my $log_task_result = sub {
}
my $tlist = $rest_env->active_workers($upid);
- $rest_env->broadcast_tasklist($tlist);
+ eval { $rest_env->broadcast_tasklist($tlist); };
+ syslog('err', $@) if $@;
my $task;
foreach my $t (@$tlist) {
@@ -562,7 +563,8 @@ sub fork_worker {
$self->log_cluster_msg('info', $user, "starting task $upid");
my $tlist = $self->active_workers($upid, $sync);
- $self->broadcast_tasklist($tlist);
+ eval { $self->broadcast_tasklist($tlist); };
+ syslog('err', $@) if $@;
my $res = 0;
--
2.11.0
More information about the pve-devel
mailing list