]> git.evergreen-ils.org Git - OpenSRF.git/blob - ChangeLog
ChangeLog for 2.2.0-alpha
[OpenSRF.git] / ChangeLog
1 ChangeLog
2 =========
3
4 OpenSRF 2.2.0
5 -------------
6
7 commit 78f15b09801f508a8db3b03cf40ab73c6d6b144d
8 Author: Bill Erickson <berick@esilibrary.com>
9 Date:   Fri Mar 15 15:56:55 2013 -0400
10
11     Multisession blocking repair
12     
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:
16     
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
20       affects all requests
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.
23     
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
26     completed requests.
27     
28     Signed-off-by: Bill Erickson <berick@esilibrary.com>
29     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
30
31 14      0       src/perl/lib/OpenSRF/MultiSession.pm
32
33 commit c8b808c739637ec68f2d8181f73d93f880f55dd6
34 Author: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
35 Date:   Wed Nov 14 14:50:46 2012 -0500
36
37     When running methods for clients, send plain warnings to "real" logs
38     
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 ?
44     
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
47     noisy.
48     
49     Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
50     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
51
52 10      0       src/perl/lib/OpenSRF/Application.pm
53
54 commit df3155f9a3d9259ce64b27fb834450f99e85d8e2
55 Author: Bill Erickson <berick@esilibrary.com>
56 Date:   Tue Oct 16 09:28:20 2012 -0400
57
58     Minor whitespace repairs in Server.pm
59     
60     Signed-off-by: Bill Erickson <berick@esilibrary.com>
61     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
62
63 7       7       src/perl/lib/OpenSRF/Server.pm
64
65 commit dd09c46cfd3bc445a879257bb530117b904f09fa
66 Author: Bill Erickson <berick@esilibrary.com>
67 Date:   Mon Oct 15 17:23:19 2012 -0400
68
69     Perl SIGHUP handling and config reloading
70     
71     Sending the HUP signal to a Perl Listener process now results in the
72     following:
73     
74      * Reload the opensrf_core config
75      * re-init the logger
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
80     
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
84     child process.
85     
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
92     service restart.
93     
94     opensrf.xml (opensrf.settings config) is not reloaded, so min/max child
95     settings will not be affected.
96     
97     Signed-off-by: Bill Erickson <berick@esilibrary.com>
98     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
99
100 52      1       src/perl/lib/OpenSRF/Server.pm
101 2       1       src/perl/lib/OpenSRF/Utils/Logger.pm
102
103 commit 51dfd2c93ded26db5820201a1e43ed8e3cdb7d99
104 Author: Galen Charlton <gmc@esilibrary.com>
105 Date:   Fri Jan 18 13:12:35 2013 -0500
106
107     LP#1101254: remove memory leak in HTTP translator
108     
109     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
110     Signed-off-by: Bill Erickson <berick@esilibrary.com>
111
112 5       1       src/gateway/osrf_http_translator.c
113
114 commit 0d6feed4b9ca2f7335aabcb55383a8a0270480b1
115 Author: Bill Erickson <berick@esilibrary.com>
116 Date:   Tue Jun 19 15:36:25 2012 -0400
117
118     Debian wheezy Makefile.install target
119     
120     Signed-off-by: Bill Erickson <berick@esilibrary.com>
121     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
122
123 1       0       README
124 15      1       src/extras/Makefile.install
125
126 commit 56fa5ed7e9e0aceb4504a5bb279fa626d55a5fc0
127 Author: Bill Erickson <berick@esilibrary.com>
128 Date:   Thu Jan 31 15:05:53 2013 -0500
129
130     Block on recv instead of loop/polling in MultiSession
131     
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
136     spikes.
137     
138     Signed-off-by: Bill Erickson <berick@esilibrary.com>
139     Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
140
141 5       1       src/perl/lib/OpenSRF/MultiSession.pm
142
143 commit 8abac65dac48cc9bbd415741193e3fb873fdbc82
144 Author: Dan Scott <dscott@laurentian.ca>
145 Date:   Fri Oct 19 16:28:59 2012 -0400
146
147     Stop using a non-standard default PREFIX for installs
148     
149     Working towards packaging, we will be better off if we start getting used to
150     installing OpenSRF in standard FHS directories.
151     
152     Signed-off-by: Dan Scott <dscott@laurentian.ca>
153     Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
154
155 0       1       configure.ac
156
157 commit c676cfc19134df88e9586954dd350be347189a0c
158 Author: Galen Charlton <gmc@esilibrary.com>
159 Date:   Sat Feb 23 00:26:06 2013 -0800
160
161     LP#1132247: fix compilation warnings in C test cases
162     
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.
167     
168     Signed-off-by: Galen Charlton <gmc@esilibrary.com>
169     Signed-off-by: Ben Shum <bshum@biblio.org>
170
171 53      45      tests/check_osrf_list.c
172 1       1       tests/check_osrf_message.c
173
174 commit 77d42eea11a3551331e6cecd409f575ae584548d
175 Author: Bill Erickson <berick@esilibrary.com>
176 Date:   Wed Oct 17 14:37:01 2012 -0400
177
178     Logger.pm whitespace cleanup
179     
180     Apply 4-space "tabs" consistently.
181     
182     Signed-off-by: Bill Erickson <berick@esilibrary.com>
183     Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
184
185 128     129     src/perl/lib/OpenSRF/Utils/Logger.pm
186
187 commit 7667d34b4913b57740695a912a69f4d520fbcb9f
188 Author: Bill Erickson <berick@esilibrary.com>
189 Date:   Wed Oct 17 14:31:02 2012 -0400
190
191     Enable client logtrace with environment vars
192     
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
196     configuration file.
197     
198     As a shortcut, if the MOD_PERL environment variable is set, assume
199     client=true.
200     
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.
204     
205     Signed-off-by: Bill Erickson <berick@esilibrary.com>
206     Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
207
208 6       0       src/perl/lib/OpenSRF/Utils/Logger.pm
209
210 commit f086d4c0aaaa605139aa18658a62fa919294cdc8
211 Author: Dan Scott <dscott@laurentian.ca>
212 Date:   Sun Jan 27 11:08:12 2013 -0500
213
214     Test for Apache executable in sbin dirs
215     
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.
219     
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>
223
224 11      2       configure.ac
225
226 commit 0c40bc6c40ff55b1ddf8bfe9b5e6ebaa87be5113
227 Author: Dan Scott <dscott@laurentian.ca>
228 Date:   Wed Jan 16 21:59:22 2013 -0500
229
230     Support Apache 2.4 client IP address lookups
231     
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.
237     
238     This code detects the version of Apache and uses client_ip if it is 2.4
239     or greater.
240     
241     Signed-off-by: Dan Scott <dscott@laurentian.ca>
242     Signed-off-by: Bill Erickson <berick@esilibrary.com>
243
244 24      0       configure.ac
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
248
249 commit d390d1ae315bd9c9326c9ef76ebf74f57ddaa573
250 Author: Bill Erickson <berick@esilibrary.com>
251 Date:   Tue Jun 26 09:21:57 2012 -0400
252
253     Prevent "uninitialized value" warnings in parameter logging
254     
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.
257     
258     This is caused when the array of method params contains null/undef
259     values.  Prevent the warnings by replacing these values w/ empty
260     strings.
261     
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>
265
266 1       1       src/perl/lib/OpenSRF/Application.pm
267
268 commit c0630d2bcedb086ac4e8bef98cc37748fc0cce3a
269 Author: Jason Stephenson <jstephenson@mvlc.org>
270 Date:   Wed Oct 31 10:21:18 2012 -0400
271
272     Change OSRF_JAVA_DEPSDIR so building Java just works.
273     
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.
278     
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.
281     
282     Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
283     Signed-off-by: Bill Erickson <berick@esilibrary.com>
284
285 1       1       configure.ac
286
287 commit d262e2892203dc74fcd1abc69a9ae7458566b18a
288 Author: Bill Erickson <berick@esilibrary.com>
289 Date:   Thu Nov 1 09:41:52 2012 -0400
290
291     Safer casting in java config parsing
292     
293     Java config parsing, in particular getString and getInt, no longer fail
294     when encountering a number value in the internl JSON->Map object.
295     
296     Java does not allow the following cast:
297     
298     String s = (String) someNumber;
299     
300     Instead, rely on the object's toString() which is safe and guaranteed
301     to exist.
302     
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>
306
307 1       1       src/java/org/opensrf/util/Config.java
308
309 commit 2883586dd2c6852ce817dcf117d263283e14c9e1
310 Author: Dan Scott <dscott@laurentian.ca>
311 Date:   Mon Nov 19 10:51:26 2012 -0500
312
313     Typo in configure.ac: 'framweork'
314     
315     Reported by David Busby of edoceo in
316     https://bugs.launchpad.net/opensrf/+bug/1080458 - thanks David!
317     
318     Signed-off-by: Dan Scott <dscott@laurentian.ca>
319
320 1       1       configure.ac