1 commit e9bdf28cd59b14159b1b2d8c177f382d8ea67706
2 Author: Jason Boyer <JBoyer@equinoxOLI.org>
3 Date: Mon May 1 11:17:14 2023 -0400
5 Bump version number for 3.2.3
7 Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
10 2 2 src/perl/lib/OpenSRF.pm
13 commit a1eb15725e6974cea1646a0dcaa2a431130692ac
14 Author: Jason Boyer <JBoyer@equinoxOLI.org>
15 Date: Mon May 1 11:13:19 2023 -0400
17 Update release notes for 3.2.3
19 Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
21 27 1 doc/RELEASE_NOTES.txt
23 commit 40f994df91988a9c16a41c00689abe14870f695c
24 Author: Chris Sharp <csharp@georgialibraries.org>
25 Date: Fri Jan 22 10:23:51 2021 -0500
27 LP#1912796: include systemd installation instructions in OpenSRF installation docs.
29 Create an example systemd unit file that can be copied into place
30 and update the README with those instructions.
32 Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
33 Signed-off-by: Josh Stompro <stompro@stompro.org>
34 Signed-off-by: Jane Sandberg <js7389@princeton.edu>
37 17 0 examples/websocketd-osrf.service.example
38 create mode 100644 examples/websocketd-osrf.service.example
40 commit 37282ddf6cada0f32988558f3763de0485649dfc
41 Author: Galen Charlton <gmc@equinoxOLI.org>
42 Date: Thu May 19 09:44:05 2022 -0400
44 LP#1974193: fix memory leak in C apps
46 This patch fixes a memory leak that can occur when
47 a C app does the following:
49 - send a non-chunked response
50 - add a response to a bundle to send later
51 - send a request complete status message
53 The leak could add up for long-lived C apps.
57 [1] Set a up C app such as Evergreen's open-ils.pcrud and
58 send a lot of requests to it whose responses would not be
59 large enough to be chunked, but not so many as to go over
60 max_requests. It may be helpful to limit the service to
62 [2] Check memory usage of the child after the requests are
64 [3] Apply the patch and repeat step 1. This time, memory
67 Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
68 Signed-off-by: Jason Stephenson <jason@sigio.com>
70 6 2 src/libopensrf/osrf_application.c
72 commit cd44561e7fe7af13a891be488a851185201f0aad
73 Author: Bill Erickson <berickxx@gmail.com>
74 Date: Mon Oct 26 11:27:00 2020 -0400
76 LP1827055 Remove Python libs, install bits, and docs
78 Signed-off-by: Bill Erickson <berickxx@gmail.com>
79 Signed-off-by: Jason Stephenson <jason@sigio.com>
83 0 3 bin/opensrf-perl.pl.in
84 0 4 bin/osrf_config.in
86 0 27 examples/math_client.py.in
87 0 26 examples/simple_text.py.in
89 0 14 src/extras/Makefile.install
90 0 27 src/python/Makefile.am
91 0 270 src/python/opensrf.py.in
92 0 0 src/python/osrf/__init__.py
93 0 196 src/python/osrf/app.py
94 0 0 src/python/osrf/apps/__init__.py
95 0 118 src/python/osrf/apps/example.py
96 0 65 src/python/osrf/cache.py
97 0 72 src/python/osrf/conf.py
98 0 83 src/python/osrf/const.py
99 0 50 src/python/osrf/ex.py
100 0 227 src/python/osrf/gateway.py
101 0 349 src/python/osrf/http_translator.py
102 0 200 src/python/osrf/json.py
103 0 199 src/python/osrf/log.py
104 0 258 src/python/osrf/net.py
105 0 288 src/python/osrf/net_obj.py
106 0 489 src/python/osrf/server.py
107 0 512 src/python/osrf/ses.py
108 0 39 src/python/osrf/set.py
109 0 131 src/python/osrf/stack.py
110 0 124 src/python/osrf/system.py
111 0 162 src/python/osrf/xml_obj.py
112 0 24 src/python/setup.py
113 0 538 src/python/srfsh.py
114 0 89 src/python/tests/json_test.py
115 0 75 src/python/tests/net_obj_test.py
116 0 30 src/python/tests/test_coverage.py
117 delete mode 100644 examples/math_client.py.in
118 delete mode 100644 examples/simple_text.py.in
119 delete mode 100644 src/python/Makefile.am
120 delete mode 100755 src/python/opensrf.py.in
121 delete mode 100644 src/python/osrf/__init__.py
122 delete mode 100644 src/python/osrf/app.py
123 delete mode 100644 src/python/osrf/apps/__init__.py
124 delete mode 100644 src/python/osrf/apps/example.py
125 delete mode 100644 src/python/osrf/cache.py
126 delete mode 100644 src/python/osrf/conf.py
127 delete mode 100644 src/python/osrf/const.py
128 delete mode 100644 src/python/osrf/ex.py
129 delete mode 100644 src/python/osrf/gateway.py
130 delete mode 100644 src/python/osrf/http_translator.py
131 delete mode 100644 src/python/osrf/json.py
132 delete mode 100644 src/python/osrf/log.py
133 delete mode 100644 src/python/osrf/net.py
134 delete mode 100644 src/python/osrf/net_obj.py
135 delete mode 100644 src/python/osrf/server.py
136 delete mode 100644 src/python/osrf/ses.py
137 delete mode 100644 src/python/osrf/set.py
138 delete mode 100644 src/python/osrf/stack.py
139 delete mode 100644 src/python/osrf/system.py
140 delete mode 100644 src/python/osrf/xml_obj.py
141 delete mode 100644 src/python/setup.py
142 delete mode 100755 src/python/srfsh.py
143 delete mode 100644 src/python/tests/json_test.py
144 delete mode 100644 src/python/tests/net_obj_test.py
145 delete mode 100644 src/python/tests/test_coverage.py
147 commit 66146fbc7b330da4458da1ab3811caf8967b7b6a
148 Author: Galen Charlton <gmc@equinoxOLI.org>
149 Date: Tue Apr 26 16:49:55 2022 -0400
151 LP#1970469: fix responses streamed out of order due to chunking
153 If a streaming method starts off sending a couple small responses
154 followed by a large one, the responses can end up received out of
155 order under this scenario:
157 - The initial small responses get stashed to be sent out as a bundle
158 - The large response, if big enough to require chunking, gets sent
159 out as a set of partial responses. However, any messages queued
160 up to go out as a bundle remain in the queue.
161 - When the method completes, or if further responses result in
162 exceeding the maximum bundle size, the queued messages get sent
163 _after_ the chunked response.
165 This affects services written in C and Perl.
172 [1] Add the following stored procedure to an Evergreen database:
174 CREATE OR REPLACE FUNCTION public.lp1970469_sample() RETURNS SETOF TEXT AS $$
178 RETURN NEXT rpad('long', 65000, 'x');
182 $$ LANGUAGE PLPGSQL IMMUTABLE;
184 [2] Run the following srfsh command:
186 srfsh# open-ils.cstore open-ils.cstore.json_query.atomic {"from":["public.lp1970469_sample"]}
188 [3] Note that longxxxxx* response is returned first, followed by abc,
190 [4] Apply the patch and repeat step 2. This time, the responses should
191 be returned in the expected order.
195 [1] In an Evergreen database, attach a couple hundred items to
197 [2] Run the following srfsh command:
199 srfsh# request open-ils.supercat open-ils.supercat.record.holdings_xml.retrieve BIBID, "-", null, 1
201 [3] If enough items were attached, the first response streamed will
202 start with a <volume> element rather than the <holdings> element
203 and the overall response will not be well-formed XML.
204 [4] Apply the patch and repeat step 2. This time, the parts of the
205 response should be in the expected order.
207 Note that this test scenario models an Evergreen glitch seen in the
208 wild that causes requests for
210 https://EGSERVER//opac/extras/supercat/retrieve/marcxml-full/record/BIBID
212 to fall if there are a lot of items attached to the bib.
214 Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
215 Signed-off-by: Mike Rylander <mrylander@gmail.com>
217 5 0 src/libopensrf/osrf_application.c
218 12 0 src/perl/lib/OpenSRF/AppSession.pm
220 commit 0821dbdc35d1fa646d3bb30ef97bbde1bcf15b97
221 Author: Bill Erickson <berickxx@gmail.com>
222 Date: Wed May 13 13:55:43 2020 -0400
224 LP#1919502 C listener backlog loop speedbump
226 When the request backlog contains items in the C forking code, attempts
227 to process the request run in a tight loop without stopping until the
228 backlog is once again empty. This can lead to spewing "Could not launch
229 a new child" warning messages at a high rate, saturating log files.
231 This commit adds a 1 second speed bump between backlog processing loops
232 to allow time for drones to complete their task and start processing the
233 remaining queued requests. The delay has a secondary affect of limited
234 the speed of the warning log spewing.
236 This 1-second speedbump logic matches that of the Perl code.
238 Signed-off-by: Bill Erickson <berickxx@gmail.com>
239 Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
240 Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
242 5 2 src/libopensrf/osrf_prefork.c
244 commit caa10d7d3f4611e78918091dba6e40b2f37f6ba8
245 Author: Jason Boyer <JBoyer@EquinoxInitiative.org>
246 Date: Wed Jun 2 09:43:12 2021 -0400
248 LP1930578: Really Stop Single Services
250 Use the same timeout / escalation method for single services as is
251 used for all services. Punted on any real refactoring for now.
253 Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
254 Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
256 6 1 bin/opensrf-perl.pl.in