From f7a7bc2ef7383b6f82bfc77425b2fc00cab2395d Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 7 Jun 2019 17:10:24 -0400 Subject: [PATCH] update ChangeLog for OpenSRF 3.0.3 Signed-off-by: Galen Charlton --- ChangeLog | 148 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 83 insertions(+), 65 deletions(-) diff --git a/ChangeLog b/ChangeLog index a5b603d..61c59fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,8 @@ -commit e574cdf4321f01fa1ae6777e38dadd4e04895932 +commit 5002dd8de58a7f3e79a14bf2ca28cb4d2b7ae71a Author: Galen Charlton -Date: Tue Nov 6 11:36:57 2018 -0500 +Date: Fri Jun 7 17:10:11 2019 -0400 - update version numbers for 3.0.2 + update versions for OpenSRF 3.0.3 Signed-off-by: Galen Charlton @@ -11,94 +11,112 @@ Date: Tue Nov 6 11:36:57 2018 -0500 1 1 src/python/setup.py 1 1 version.m4 -commit e0f49880d6d844aae1e6b31d7e4743ad596402d5 +commit 9124bf3c82ad29e20a0a2607cb78d6b9db325efa Author: Galen Charlton -Date: Tue Nov 6 11:35:11 2018 -0500 +Date: Fri Jun 7 17:08:30 2019 -0400 - update release notes for OpenSRF 3.0.2 + update release notes for OpenSRF 3.0.3 Signed-off-by: Galen Charlton -61 1 doc/RELEASE_NOTES.txt +29 0 doc/RELEASE_NOTES.txt -commit 7866a18c7455f8243e9f1076ebdff230f5905357 -Author: Bill Erickson -Date: Mon Aug 27 10:12:57 2018 -0400 +commit ca876a9ae69ed49369d8722831f11c3876d893ad +Author: John Merriam +Date: Wed Apr 10 11:06:14 2019 -0400 - LP#1684970 Translator compatible with mod_remoteip + LP#1824184: Change potentially slow log statements to subroutines - Teach the OSRF Translator to request the IP address of the user agent - (e.g. web browser) instead of the IP address of the up stream client, - which may be a proxy, using the Apache 2.4 request_rec->useragent_ip - value. + The OpenSRF code was searched for potentially slow logging statements at + log level info or above. We then changed those logging statements to be + delayed execution subroutines. This is in reaction to LP1823338 where a + slow debug logging statement was slowing down SIP checkins even though + debug logging was not turned on. - http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html + Here is some pseudocode that shows what is being done here: - This make is possible for the translator to access the client IP with - Apache's mod_remoteip enabled and configured. + $log->debug("Some text " . $some->slow_method); - Includes sample config and install documentation. + would be changed to: - Signed-off-by: Bill Erickson - Signed-off-by: Galen Charlton - -17 0 README -10 0 examples/apache2/opensrf.conf -1 1 src/gateway/osrf_http_translator.c - -commit 7d144fbdb50b3d91c8fd9429f35838b37f3cd83c -Author: Bill Erickson -Date: Wed Jul 11 12:27:05 2018 -0400 - - LP#1711145 NGINX sample config security improvements + $log->debug(sub{return "Some text " . $some->slow_method }); + + With this change, an unnamed sub is passed to the OpenSRF logger module + and it will not be executed unless the global logging level is set to + debug or higher (the slow_method will not be called unless it is needed + for that logging level). - * Adds security recommendations from - https://mozilla.github.io/server-side-tls/ssl-config-generator/ - * Enables http2 - * Apply a 5-minute proxy read timeout to avoid too-short timeouts on - long API calls. - * Adds a (commented) section on sending nginx logs to syslog + ******** + If/when this is committed, please use delayed execution subroutines for + any logging statements that could be slow in the future. It is recommend + that any logging statements that do not consist entirely of quoted text + and/or already available scalar variables use delayed execution + subroutines. + ******** - Includes INSTALL notes on generating the dhparam file. + Testing notes + ------------- + [1] This patch reduced the duration of open-ils.storage.actor.user.total_owed + calls on a test system from an average of 0.13 seconds to an overage + of 0.009 seconds. + [2] It didn't materially affect the duration of calls to + open-ils.actor.user.opac.vital_stats. + [3] This make sense: open-ils.storage has far more generated methods + than open-ils.actor. + [4] There are enough instances in Evergreen of using method_lookup to find + routines in open-ils.storage that the speed improvement may well be + perceptible to humans, not just SIP sorters. - Signed-off-by: Bill Erickson + Signed-off-by: John Merriam Signed-off-by: Galen Charlton -10 2 README -30 2 examples/nginx/osrf-ws-http-proxy +7 7 src/perl/lib/OpenSRF/AppSession.pm +9 9 src/perl/lib/OpenSRF/Application.pm +4 4 src/perl/lib/OpenSRF/DomainObject/oilsMessage.pm +2 2 src/perl/lib/OpenSRF/EX.pm +3 3 src/perl/lib/OpenSRF/MultiSession.pm +9 9 src/perl/lib/OpenSRF/Server.pm +1 1 src/perl/lib/OpenSRF/Transport.pm +1 1 src/perl/lib/OpenSRF/Transport/SlimJabber/Client.pm -commit d2683cd6d552fdbc6dc25e24cc2aa6c047243b4c -Author: Bill Erickson -Date: Tue Jun 12 12:12:45 2018 -0400 +commit 07ae6134166a804a5ba86c379ef5dec00577a873 +Author: Galen Charlton +Date: Fri Jun 7 11:30:42 2019 -0400 - LP#1776510 JS libs handle transport errors + LP#1824181: add test cases - Teach the websocket client code to look for the transport_error flag - applied to the websocket wrapper message by the websocket gateway when a - request for an unavilable service is made. + To test + ------- + [1] Verify that 'make check' (or prove src/perl/t/09-Utils-Logger.t) + passes. - When encountered, fire the transport or generic error handler callbacks, - if available. Avoid any attempts to further process the message. - - Signed-off-by: Bill Erickson Signed-off-by: Galen Charlton -23 0 src/javascript/opensrf.js +10 1 src/perl/t/09-Utils-Logger.t -commit 0df7943369cbd5416276de84b428cd0a27a2b1eb -Author: Mike Rylander -Date: Fri Jul 7 15:22:21 2017 -0400 +commit 327a272e1d5fa187f1c78afc963d125e3bb32860 +Author: John Merriam +Date: Wed Apr 10 09:51:54 2019 -0400 - LP#1702978: memcache Get methods use key as va_list format + LP#1824181: Allow 1st arg to logger to be string or subroutine + + This simple change allows the $msg passed to _log_message in Logger.pm + to be either a regular string or a delayed exec subroutine. This is in + reaction to LP1823338 where a slow debug logging statement was slowing + down SIP checkins even though debug logging was not turned on. + + With this change you can take this: - And, when a key (composed of, say, a username or barcode) has a % in it, - bad things happen. We will stop acting as if these are variadic functions - now, and also update Evergreen so that it does not do that either. + $log->debug("Available methods\n\t".join("\n\t", keys %{ $_METHODS[$proto] }), INTERNAL); - TODO: Make these actually non-variadic, but that breaks ABI. + and change it to this: - Signed-off-by: Mike Rylander - Signed-off-by: Cesar Velez - Signed-off-by: Jason Stephenson + $log->debug(sub{return "Available methods\n\t".join("\n\t", keys %{ $_METHODS[$proto] }) }, INTERNAL); + + and then that slow debug logging line will not be executed unless + debug logging is turned on. + + Signed-off-by: John Merriam + Signed-off-by: Galen Charlton -13 17 src/libopensrf/osrf_cache.c +3 0 src/perl/lib/OpenSRF/Utils/Logger.pm -- 2.43.2