[open-ils-commits] [GIT] Evergreen ILS branch master updated. c650360b7adb7f1f25ac176b45d3598591fdf05c
Evergreen Git
git at git.evergreen-ils.org
Thu Oct 11 09:55:38 EDT 2012
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".
The branch, master has been updated
via c650360b7adb7f1f25ac176b45d3598591fdf05c (commit)
from 055c5afc7c387faeba0ddfb459de484f17cc5858 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c650360b7adb7f1f25ac176b45d3598591fdf05c
Author: Dan Scott <dscott at laurentian.ca>
Date: Wed Oct 10 22:06:32 2012 -0400
TPAC: Avoid 500 errs on record page due to ipv6 ignorance
Net::HTTP does not handle ipv6 addresses properly, and is subject to
failing to return a request object if handed one (some systems seem to
prefer ipv6). This commit checks the value of the request object before
invoking any methods on it, and also short-circuits the AC lookup loop
if the host could not be resolved to avoid flooding the logs with
multiple "Unable to connect..." warnings.
If Net::HTTP grows ipv6 support, this commit can still stay in place and
the lookups will just start magically working.
Signed-off-by: Dan Scott <dscott at laurentian.ca>
Signed-off-by: Bill Erickson <berick at esilibrary.com>
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
index a70db54..4497c33 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
@@ -439,11 +439,13 @@ sub added_content_stage1 {
# and back in to reach the top-level virtualhost.
my $ac_addr = $ENV{SERVER_ADDR};
my $ac_host = $self->apache->hostname;
+ my $ac_failed = 0;
$logger->info("tpac: added content connecting to $ac_addr / $ac_host");
$ctx->{added_content} = {};
for my $type (@$ac_types) {
+ last if $ac_failed;
$ctx->{added_content}->{$type} = {content => ''};
$ctx->{added_content}->{$type}->{status} = $key ? 3 : 2;
@@ -457,14 +459,15 @@ sub added_content_stage1 {
# or very slow (routing problems).
my $req = Net::HTTP::NB->new(Host => $ac_addr, Timeout => 1);
- $req->host($self->apache->hostname);
-
if (!$req) {
$logger->warn("Unable to connect to $ac_addr / $ac_host".
" for added content lookup for $key: $@");
+ $ac_failed = 1;
next;
}
+ $req->host($self->apache->hostname);
+
my $http_type = ($type eq $sel_type) ? 'GET' : 'HEAD';
$req->write_request($http_type => "/opac/extras/ac/$type/html/" . uri_escape($key));
$ctx->{added_content}->{$type}->{request} = $req;
-----------------------------------------------------------------------
Summary of changes:
.../perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list