7 commit 78f15b09801f508a8db3b03cf40ab73c6d6b144d
8 Author: Bill Erickson <berick@esilibrary.com>
9 Date: Fri Mar 15 15:56:55 2013 -0400
11 Multisession blocking repair
13 The new socket blocking code for multisession failed to take into
14 account that socket activity outside of the main block could lead to a
15 deadlock situation. For example:
17 * Check status of request A -> not complete
18 * Check status of request B -> whatever
19 * Request A may now be complete, since checking the status of any request
21 * Return to blocking loop because we think there is pending data, but in
22 fact all data has already been pulled from the socket.
24 The solution is for session_reap() to make a sweep and check for changes
25 in requests that are now complete as a side-effect of checking for
28 Signed-off-by: Bill Erickson <berick@esilibrary.com>
29 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
31 14 0 src/perl/lib/OpenSRF/MultiSession.pm
33 commit c8b808c739637ec68f2d8181f73d93f880f55dd6
34 Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
35 Date: Wed Nov 14 14:50:46 2012 -0500
37 When running methods for clients, send plain warnings to "real" logs
39 Code inside an OpenSRF application method may use Perl libraries that warn
40 and carp like most Perl code is wont to do. Instead of letting
41 those message go to STDERR where they can be easily missed (and take up
42 lots of disk space on application boxes), why not catch them and
43 redirect them to our "real" logs using OpenSRF::Utils::Logger ?
45 Deployment of this change would probably have the side effect of bringing
46 to light bugs in applications (Evergreen) that will suddenly seem very
49 Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
50 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
52 10 0 src/perl/lib/OpenSRF/Application.pm
54 commit df3155f9a3d9259ce64b27fb834450f99e85d8e2
55 Author: Bill Erickson <berick@esilibrary.com>
56 Date: Tue Oct 16 09:28:20 2012 -0400
58 Minor whitespace repairs in Server.pm
60 Signed-off-by: Bill Erickson <berick@esilibrary.com>
61 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
63 7 7 src/perl/lib/OpenSRF/Server.pm
65 commit dd09c46cfd3bc445a879257bb530117b904f09fa
66 Author: Bill Erickson <berick@esilibrary.com>
67 Date: Mon Oct 15 17:23:19 2012 -0400
69 Perl SIGHUP handling and config reloading
71 Sending the HUP signal to a Perl Listener process now results in the
74 * Reload the opensrf_core config
76 * kill idle child processes
77 * child processes that are active when the signal is received are
78 tracked and killed once they become idle.
79 * New children are spawned per the min child settings
81 The primary use case for these changes is temporarily changing the log
82 level (or log file) for a given service for debug purposes. It may also
83 be used, for example, to gracefully recover excess RAM consumed by a
86 Not all values in opensrf_core.xml are affected by a SIGHUP. Since the
87 goal is a gracful reload, no attempt is made by the listener process to
88 re-connect to jabber or re-register with the opensrf router(s). Child
89 processes will by necessity connect to Jabber during startup, though, so
90 any changes to the jabber configuration will affect child processes. In
91 general, it's best to affect jabber configuration changes with a true
94 opensrf.xml (opensrf.settings config) is not reloaded, so min/max child
95 settings will not be affected.
97 Signed-off-by: Bill Erickson <berick@esilibrary.com>
98 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
100 52 1 src/perl/lib/OpenSRF/Server.pm
101 2 1 src/perl/lib/OpenSRF/Utils/Logger.pm
103 commit 51dfd2c93ded26db5820201a1e43ed8e3cdb7d99
104 Author: Galen Charlton <gmc@esilibrary.com>
105 Date: Fri Jan 18 13:12:35 2013 -0500
107 LP#1101254: remove memory leak in HTTP translator
109 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
110 Signed-off-by: Bill Erickson <berick@esilibrary.com>
112 5 1 src/gateway/osrf_http_translator.c
114 commit 0d6feed4b9ca2f7335aabcb55383a8a0270480b1
115 Author: Bill Erickson <berick@esilibrary.com>
116 Date: Tue Jun 19 15:36:25 2012 -0400
118 Debian wheezy Makefile.install target
120 Signed-off-by: Bill Erickson <berick@esilibrary.com>
121 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
124 15 1 src/extras/Makefile.install
126 commit 56fa5ed7e9e0aceb4504a5bb279fa626d55a5fc0
127 Author: Bill Erickson <berick@esilibrary.com>
128 Date: Thu Jan 31 15:05:53 2013 -0500
130 Block on recv instead of loop/polling in MultiSession
132 When the time comes to wait for responses to arrive, block on the XMPP
133 socket (which uses select() under the covers) until data arrives,
134 instead of looping furiously and calling receive in non-blocking mode.
135 Before this change, waiting on responses resulted in long-running CPU
138 Signed-off-by: Bill Erickson <berick@esilibrary.com>
139 Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
141 5 1 src/perl/lib/OpenSRF/MultiSession.pm
143 commit 8abac65dac48cc9bbd415741193e3fb873fdbc82
144 Author: Dan Scott <dscott@laurentian.ca>
145 Date: Fri Oct 19 16:28:59 2012 -0400
147 Stop using a non-standard default PREFIX for installs
149 Working towards packaging, we will be better off if we start getting used to
150 installing OpenSRF in standard FHS directories.
152 Signed-off-by: Dan Scott <dscott@laurentian.ca>
153 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
157 commit c676cfc19134df88e9586954dd350be347189a0c
158 Author: Galen Charlton <gmc@esilibrary.com>
159 Date: Sat Feb 23 00:26:06 2013 -0800
161 LP#1132247: fix compilation warnings in C test cases
163 Also, since osrfList maintains a list of pointers, not
164 values, adjust some of the test cases to discourage
165 anybody inclined to copy-and-paste from the test cases
166 from storing pointers to stack variables in an osrfList.
168 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
169 Signed-off-by: Ben Shum <bshum@biblio.org>
171 53 45 tests/check_osrf_list.c
172 1 1 tests/check_osrf_message.c
174 commit 77d42eea11a3551331e6cecd409f575ae584548d
175 Author: Bill Erickson <berick@esilibrary.com>
176 Date: Wed Oct 17 14:37:01 2012 -0400
178 Logger.pm whitespace cleanup
180 Apply 4-space "tabs" consistently.
182 Signed-off-by: Bill Erickson <berick@esilibrary.com>
183 Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
185 128 129 src/perl/lib/OpenSRF/Utils/Logger.pm
187 commit 7667d34b4913b57740695a912a69f4d520fbcb9f
188 Author: Bill Erickson <berick@esilibrary.com>
189 Date: Wed Oct 17 14:31:02 2012 -0400
191 Enable client logtrace with environment vars
193 Supports a new environment variable OSRF_LOG_CLIENT which, if true,
194 enables control and generation of the client log trace value. This is
195 the same as setting <client>true</client> within the opensrf core
198 As a shortcut, if the MOD_PERL environment variable is set, assume
201 This allows clients and non-clients to share an opensrf core
202 configuration file, when previously the only difference between the two
203 was the <client> setting.
205 Signed-off-by: Bill Erickson <berick@esilibrary.com>
206 Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
208 6 0 src/perl/lib/OpenSRF/Utils/Logger.pm
210 commit f086d4c0aaaa605139aa18658a62fa919294cdc8
211 Author: Dan Scott <dscott@laurentian.ca>
212 Date: Sun Jan 27 11:08:12 2013 -0500
214 Test for Apache executable in sbin dirs
216 Debian apparently doesn't include /usr/sbin in the default user PATH, so
217 add an APXS2-like lookup with likely locations if we don't find the
218 apache executable in our standard path.
220 Signed-off-by: Dan Scott <dscott@laurentian.ca>
221 Signed-off-by: Jason Etheridge <jason@esilibrary.com>
222 Signed-off-by: Ben Shum <bshum@biblio.org>
226 commit 0c40bc6c40ff55b1ddf8bfe9b5e6ebaa87be5113
227 Author: Dan Scott <dscott@laurentian.ca>
228 Date: Wed Jan 16 21:59:22 2013 -0500
230 Support Apache 2.4 client IP address lookups
232 The Apache 2.4 API replaces the conn_rec->remote_ip member with
233 conn_rec->client_ip or conn_rec->useragent_ip (per
234 http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html). client_ip
235 seems to be the best choice for us, to avoid everything being logged
236 from the load balancer or proxy instead of the client's address.
238 This code detects the version of Apache and uses client_ip if it is 2.4
241 Signed-off-by: Dan Scott <dscott@laurentian.ca>
242 Signed-off-by: Bill Erickson <berick@esilibrary.com>
245 5 2 src/gateway/Makefile.am
246 4 0 src/gateway/osrf_http_translator.c
247 5 0 src/gateway/osrf_json_gateway.c
249 commit d390d1ae315bd9c9326c9ef76ebf74f57ddaa573
250 Author: Bill Erickson <berick@esilibrary.com>
251 Date: Tue Jun 26 09:21:57 2012 -0400
253 Prevent "uninitialized value" warnings in parameter logging
255 Use of uninitialized value $p[0] in join or string at
256 /usr/local/share/perl/5.10.1/OpenSRF/Application.pm line 130.
258 This is caused when the array of method params contains null/undef
259 values. Prevent the warnings by replacing these values w/ empty
262 Signed-off-by: Bill Erickson <berick@esilibrary.com>
263 Signed-off-by: Dan Scott <dscott@laurentian.ca>
264 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
266 1 1 src/perl/lib/OpenSRF/Application.pm
268 commit c0630d2bcedb086ac4e8bef98cc37748fc0cce3a
269 Author: Jason Stephenson <jstephenson@mvlc.org>
270 Date: Wed Oct 31 10:21:18 2012 -0400
272 Change OSRF_JAVA_DEPSDIR so building Java just works.
274 OSRF_JAVA_DEPSDIR was being set to /opt/java by configure without any
275 documentation to that effect. The src/java/deps.sh downloads the deps files
276 to src/java/deps. This means that you cannot just build java without either
277 copying the jars from src/java/deps or altering src/java/Makefile.
279 This edit changes the AC_SUBST call to replace OSRF_JAVA_DEPSDIR with deps,
280 so that you can at least build java without making any changes.
282 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
283 Signed-off-by: Bill Erickson <berick@esilibrary.com>
287 commit d262e2892203dc74fcd1abc69a9ae7458566b18a
288 Author: Bill Erickson <berick@esilibrary.com>
289 Date: Thu Nov 1 09:41:52 2012 -0400
291 Safer casting in java config parsing
293 Java config parsing, in particular getString and getInt, no longer fail
294 when encountering a number value in the internl JSON->Map object.
296 Java does not allow the following cast:
298 String s = (String) someNumber;
300 Instead, rely on the object's toString() which is safe and guaranteed
303 Signed-off-by: Bill Erickson <berick@esilibrary.com>
304 Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
305 Signed-off-by: Dan Scott <dscott@laurentian.ca>
307 1 1 src/java/org/opensrf/util/Config.java
309 commit 2883586dd2c6852ce817dcf117d263283e14c9e1
310 Author: Dan Scott <dscott@laurentian.ca>
311 Date: Mon Nov 19 10:51:26 2012 -0500
313 Typo in configure.ac: 'framweork'
315 Reported by David Busby of edoceo in
316 https://bugs.launchpad.net/opensrf/+bug/1080458 - thanks David!
318 Signed-off-by: Dan Scott <dscott@laurentian.ca>