]> git.evergreen-ils.org Git - OpenSRF.git/blob - ChangeLog
Commit changelog for 2.0.0 beta release
[OpenSRF.git] / ChangeLog
1 2010-11-15  dbs
2
3         * .: Create rel_2_0 branch for next major OpenSRF release
4
5 2010-11-14  dbs
6
7         * Limit list of Python services to those within the domain-specific activeapps
8           section
9           
10           Fix up help with correct default PID directory and document list_all action
11
12 2010-11-11  dbs
13
14         * If an alternate config file is pointed to in osrf_ctl.sh, respect it
15           
16           In a previous edit, I accidentally removed the config file option
17           from the start_python command, which would break if anything other
18           than the configured default config file was specified as an option to
19           osrf_ctl.sh. This makes opensrf.py once again respect the authority
20           of osrf_ctl.sh.
21
22         * Use the same PID directory as the opensrf-perl.pl and opensrf.py scripts
23           
24           The default PID directories for the opensrf-perl.pl and opensrf.py scripts
25           was /openils/var/run/opensrf (assuming a prefix of '/openils'), while the
26           default PID directory for osrf_ctl.sh was /openils/var/run. This complicated
27           matters when trying to restart individual Python or Perl services, as without
28           passing an explicit PID directory argument the restart command from the
29           language-specific script would check for a PID in a different PID directory,
30           find none, and end up running a second copy of the service instead of
31           restarting the existing service.
32           
33           The change groups all PIDs in the 'run/opensrf' subdirectory to avoid any
34           PID file conflicts (as unlikely as that might be) if OpenSRF is installed
35           in the default location - so rather than /var/local/run/*.pid, one will
36           be able to look at /var/local/run/opensrf/*.pid
37
38 2010-11-10  dbs
39
40         * Add the sanity-saving step of a munged PERL5LIB to the README
41           
42           Thanks for the nudge from Thomas Berezanksy!
43
44         * Commit some unit tests for Python osrf.json module
45           
46           Recommendation: add *_test.py scripts that mirror each
47           osrf.* module in src/python/tests. Boo-yah.
48
49 2010-11-09  dbs
50
51         * osrf.json clean up
52           
53           * Use the right variable name in to_json_raw()
54           * PEP8 compliance for variable naming
55           * Add docstrings
56           * Simpler __tabs() implementation
57
58         * A solution for starting all Python services: make sh do the work
59
60         * Enhanced do_start() implementation in Python management script
61           
62           Unclean shutdowns and fork() misery can create PID files that have
63           no actual process behind them. Instead of just trusting the PID file, check
64           for the running PID; if the process is not running, then remove the PID file
65           and actually start the service.
66
67         * Assign, don't test equality (thanks berick)
68
69         * Make start_all automatically daemonize services
70
71         * Give opensrf.py reasonable defaults for options
72           
73           Rather than:
74           opensrf.py -l -d -f /openils/conf/opensrf_core.xml -p /openils/var/run/ -a
75           start_all
76           
77           you can now use:
78           opensrf.py -l -d -a start_all
79           
80           Isn't that better? Note that we put the PIDs into PID_DIR/run/opensrf/
81           so that if/when OpenSRF is installed outside of the /openils/ prefix,
82           the names of the processes won't conflict with any other application PIDs.
83           Unlikely, but you never know.
84
85         * Try not to stomp on global variable names and built-ins, add docstrings
86
87         * Typos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/
88
89         * Typo: Pass in the array of servers to the memcached client if we have one
90
91         * Reference constants properly
92
93         * Make pylint happier with PEP8-compliant argument name
94
95         * Fix daemonize problem that surfaced in start_all
96           
97           Thanks to Michael Giarlo for reporting the problem, Bill Erickson
98           for pointing the way to the solution, and http://bugs.python.org/issue5313
99           for providing me with more context for the problem & solution.
100
101         * More debuggery for the spawning of child processes
102
103         * Minutes and months were reversed in Python logging timestamps
104
105         * Add a Python and curl example of invoking the Perl simpletext services
106
107         * Add a streaming version of the split() method in simpletext example
108
109 2010-11-08  dbs
110
111         * Make opensrf-perl.pl handle missing configuration for services more gracefully
112           
113           As we might want to ship configuration files with commented out sections,
114           this will alert the user that a service was listed in the hosts section
115           but the configuration for that service could not be found.
116
117 2010-11-05  erickson
118
119         * Patch from Michael Giarlo to integrate python service control into osrf_ctl.sh.
120           
121           I made the following additional changes:
122           
123           1. copy opensrf.py into the BIN dir during install when --enable-python is used.
124           
125           2. osrf_ctl.sh will not attempt to control python services when python is not
126           enabled for opensrf.
127
128         * patch from Michael Giarlo for better sanity checking during settings file
129           reading in python (avoid #comment's)
130
131         * added osrf.apps to installed pachages (thanks for the tip, dbs). bumped version
132           in prep for 2.0
133
134         * socket_bundle typo patch from Jason Stephenson
135           
136           Further discussion and DCO:
137           
138           http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-November/006476.html
139
140 2010-10-26  erickson
141
142         * consistent w/ the C libs, only log server message processing duration at INFO.
143           log server response processing duration at debug and w/ slighly different
144           wording. let the processing duration log message act as the indication of a
145           successfully handled message to reduce logging
146
147 2010-10-25  erickson
148
149         * log message processing duration at INFO level, instead of DEBUG, consistent with
150           the C libs
151
152 2010-10-14  scottmk
153
154         * Plug a minor memory leak that could occur when we opened a TCP connection
155           to a server. In practice this meant whenever we opened a Jabber session.
156           
157           We call getaddrinfo() to get a dynamically allocated linked list of
158           addresses for a given server name. Then we traverse the list, looking
159           for one that accepts streaming connections over IPV4, in order to get
160           an IP address.
161           
162           At the end, we call freeaddrinfo() to free the linked list.
163           
164           Previously we would pass to freeaddrinfo() a pointer, not to the
165           head of the list, but to the node that we used for getting an IP
166           address. Prior nodes, if any, would leak.
167           
168           Also: added calls to freeaddrinfo() in the case of early returns, to
169           avoid leaking the list in the event of an error.
170           
171           M src/libopensrf/socket_bundle.c
172
173 2010-10-12  erickson
174
175         * implemented an optional per-service stderr log for capturing miscellaneous
176           stderr output from services, similar to the old-style _unix.log files, since
177           there are often useful warnings and error messages that never bubble up to
178           syslog. for clarity, the files now use _stderr as a suffix instead of _unix.
179           stderr logs are enabled by default. included opensrf.xml example of how to
180           disable it for a given service
181
182         * when we add xhr responses onto the end of the queue, stash the original session
183           as well, otherwise we're attempting to ask a session questions about requests
184           it's not tracking
185
186 2010-10-07  erickson
187
188         * in json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code
189           path. we lose some abstraction, but it's probably worth it here
190
191 2010-09-28  dbs
192
193         * Work around a Net::Domain bug that can result in fqdn's like
194           foo.example.com,bar.com
195           
196           The bug manifested when trying to run autogen.sh, with the output:
197           Updating fieldmapper
198           No Response from settings server...going to sleep
199           
200           This was because SettingsParser was generating invalid XPath and consquently
201           errors in the opensrf.settings service; with no response, the attempt to run
202           autogen.sh would die.
203           
204           This workaround splits the fqdn on commas and tries each possible domain in
205           the server setting XPath. Long term we either need to wait for Net::Domain
206           bug #60729 (https://rt.cpan.org/Public/Bug/Display.html?id=60729) to be
207           resolved, or consider alternatives.
208
209 2010-09-28  miker
210
211         * return the trace-augmented message as written to the log
212
213 2010-09-13  erickson
214
215         * removing vestigial references to Inbound.pm, which no longer exists in the
216           repository. this also removes get/set_listener, which were never taken advantage
217           of and are no longer of use since the listener is thoroughly hard-coded into the
218           opensrf stack now
219
220 2010-09-09  dbs
221
222         * Bump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.
223           
224           perlmodstyle says "A correct CPAN version number is a floating point
225           number with at least 2 digits after the decimal." so we're not in
226           compliance in any case. Oh well.
227
228 2010-09-05  dbs
229
230         * Update the manifest for Perl modules to avoid build warnings
231           
232           r2016 removed two Perl modules,
233           src/perl/lib/OpenSRF/Transport/SlimJabber/Inbound.pm
234           and src/perl/lib/OpenSRF/UnixServer.pm, and the build gets upset because the
235           manifest suggests they're missing. But no, we know where they are, and we
236           don't expect them to come back.
237
238 2010-09-01  erickson
239
240         * added support for reading ContinueStatus opensrf messages in the JS opensrf lib
241
242 2010-09-01  gmc
243
244         * updated mailing address of the FSF
245
246         * remove executable bit from module files that don't need it
247           
248           Small nit to pick for Debianization.
249
250 2010-09-01  erickson
251
252         * Replace Net::Server with local pre-forking server
253           
254           Support max/min children and max/min spare children
255           For more, see
256           http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-May/006068.html
257
258 2010-08-31  gmc
259
260         * remove ntp and ntpdate dependencies
261           
262           Not used by OpenSRF; these are legacies of
263           Evergreen dependencies at the time OpenSRF was
264           split off. Quite likely a bunch of deps in
265           Makefile.install aren't needed by OpenSRF
266           proper.
267