This is an automated email from the git hooks/post-receive script. jamessan pushed a commit to branch master in repository devscripts.
commit 980261776d8ab0c0314923038b7278772e6065bd Author: James McCoy <[email protected]> Date: Wed Jun 3 00:34:14 2015 -0400 Devscripts::Debbugs: Request bug status in chunks Post-Jessie there are rlimits set on apache processes which cause bugs.debian.org's SOAP handler to die when building large responses. Splitting the bug_status request into chunks avoids hitting those limits. Signed-off-by: James McCoy <[email protected]> --- debian/changelog | 2 ++ lib/Devscripts/Debbugs.pm | 23 ++++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index c9ac0c5..2d2d2f7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,6 +30,8 @@ devscripts (2.15.5) UNRELEASED; urgency=medium * debuild: Recognize -jauto as a valid option. Based on a patch by Reiner Herrmann. (Closes: #787276) * uscan: Fix Github example in man page. (Closes: #757194) + * Devscripts::Debbugs: Retrieve bug status in chunks to avoid building large + responses on bugs.d.o. [ Dominique Dumont ] * licensecheck: diff --git a/lib/Devscripts/Debbugs.pm b/lib/Devscripts/Debbugs.pm index 1ac50b6..ee4ecdf 100644 --- a/lib/Devscripts/Debbugs.pm +++ b/lib/Devscripts/Debbugs.pm @@ -253,18 +253,23 @@ sub status { my $soap = init_soap(); - my $bugs = $soap->get_status(@args); + my $result = {}; + while (my @slice = splice(@args, 0, 500)) { + my $bugs = $soap->get_status(@slice); - if (@errors or not defined $bugs) { - my $error = join("\n", @errors); - die "Error while retrieving bug statuses from SOAP server: $error\n"; - } + if (@errors or not defined $bugs) { + my $error = join("\n", @errors); + die "Error while retrieving bug statuses from SOAP server: $error\n"; + } - my $result = $bugs->result(); + my $tmp = $bugs->result(); - if (@errors or not defined $result) { - my $error = join("\n", @errors); - die "Error while retrieving bug statuses from SOAP server: $error\n"; + if (@errors or not defined $tmp) { + my $error = join("\n", @errors); + die "Error while retrieving bug statuses from SOAP server: $error\n"; + } + + %$result = (%$result, %$tmp); } return $result; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git _______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
