]> git.evergreen-ils.org Git - OpenSRF.git/blob - ChangeLog
Update ChangeLog for 3.2.3
[OpenSRF.git] / ChangeLog
1 commit e9bdf28cd59b14159b1b2d8c177f382d8ea67706
2 Author: Jason Boyer <JBoyer@equinoxOLI.org>
3 Date:   Mon May 1 11:17:14 2023 -0400
4
5     Bump version number for 3.2.3
6     
7     Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
8
9 5       5       README
10 2       2       src/perl/lib/OpenSRF.pm
11 1       1       version.m4
12
13 commit a1eb15725e6974cea1646a0dcaa2a431130692ac
14 Author: Jason Boyer <JBoyer@equinoxOLI.org>
15 Date:   Mon May 1 11:13:19 2023 -0400
16
17     Update release notes for 3.2.3
18     
19     Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
20
21 27      1       doc/RELEASE_NOTES.txt
22
23 commit 40f994df91988a9c16a41c00689abe14870f695c
24 Author: Chris Sharp <csharp@georgialibraries.org>
25 Date:   Fri Jan 22 10:23:51 2021 -0500
26
27     LP#1912796: include systemd installation instructions in OpenSRF installation docs.
28     
29     Create an example systemd unit file that can be copied into place
30     and update the README with those instructions.
31     
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>
35
36 16      0       README
37 17      0       examples/websocketd-osrf.service.example
38  create mode 100644 examples/websocketd-osrf.service.example
39
40 commit 37282ddf6cada0f32988558f3763de0485649dfc
41 Author: Galen Charlton <gmc@equinoxOLI.org>
42 Date:   Thu May 19 09:44:05 2022 -0400
43
44     LP#1974193: fix memory leak in C apps
45     
46     This patch fixes a memory leak that can occur when
47     a C app does the following:
48     
49     - send a non-chunked response
50     - add a response to a bundle to send later
51     - send a request complete status message
52     
53     The leak could add up for long-lived C apps.
54     
55     To test
56     -------
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
61         just a single child.
62     [2] Check memory usage of the child after the requests are
63         processed.
64     [3] Apply the patch and repeat step 1. This time, memory
65         usage should be less.
66     
67     Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
68     Signed-off-by: Jason Stephenson <jason@sigio.com>
69
70 6       2       src/libopensrf/osrf_application.c
71
72 commit cd44561e7fe7af13a891be488a851185201f0aad
73 Author: Bill Erickson <berickxx@gmail.com>
74 Date:   Mon Oct 26 11:27:00 2020 -0400
75
76     LP1827055 Remove Python libs, install bits, and docs
77     
78     Signed-off-by: Bill Erickson <berickxx@gmail.com>
79     Signed-off-by: Jason Stephenson <jason@sigio.com>
80
81 1       6       Makefile.am
82 1       22      README
83 0       3       bin/opensrf-perl.pl.in
84 0       4       bin/osrf_config.in
85 1       52      configure.ac
86 0       27      examples/math_client.py.in
87 0       26      examples/simple_text.py.in
88 0       8       src/Makefile.am
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
146
147 commit 66146fbc7b330da4458da1ab3811caf8967b7b6a
148 Author: Galen Charlton <gmc@equinoxOLI.org>
149 Date:   Tue Apr 26 16:49:55 2022 -0400
150
151     LP#1970469: fix responses streamed out of order due to chunking
152     
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:
156     
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.
164     
165     This affects services written in C and Perl.
166     
167     To test
168     -------
169     
170     C service
171     =========
172     [1] Add the following stored procedure to an Evergreen database:
173     
174     CREATE OR REPLACE FUNCTION public.lp1970469_sample() RETURNS SETOF TEXT AS $$
175     BEGIN
176         RETURN NEXT 'abc';
177         RETURN NEXT 'def';
178         RETURN NEXT rpad('long', 65000, 'x');
179         RETURN NEXT 'xyz';
180         RETURN;
181     END;
182     $$ LANGUAGE PLPGSQL IMMUTABLE;
183     
184     [2] Run the following srfsh command:
185     
186     srfsh# open-ils.cstore open-ils.cstore.json_query.atomic {"from":["public.lp1970469_sample"]}
187     
188     [3] Note that longxxxxx* response is returned first, followed by abc,
189         def, and xyz.
190     [4] Apply the patch and repeat step 2. This time, the responses should
191         be returned in the expected order.
192     
193     Perl service
194     ============
195     [1] In an Evergreen database, attach a couple hundred items to
196         a record.
197     [2] Run the following srfsh command:
198     
199     srfsh# request open-ils.supercat open-ils.supercat.record.holdings_xml.retrieve BIBID, "-", null, 1
200     
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.
206     
207     Note that this test scenario models an Evergreen glitch seen in the
208     wild that causes requests for
209     
210     https://EGSERVER//opac/extras/supercat/retrieve/marcxml-full/record/BIBID
211     
212     to fall if there are a lot of items attached to the bib.
213     
214     Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
215     Signed-off-by: Mike Rylander <mrylander@gmail.com>
216
217 5       0       src/libopensrf/osrf_application.c
218 12      0       src/perl/lib/OpenSRF/AppSession.pm
219
220 commit 0821dbdc35d1fa646d3bb30ef97bbde1bcf15b97
221 Author: Bill Erickson <berickxx@gmail.com>
222 Date:   Wed May 13 13:55:43 2020 -0400
223
224     LP#1919502 C listener backlog loop speedbump
225     
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.
230     
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.
235     
236     This 1-second speedbump logic matches that of the Perl code.
237     
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>
241
242 5       2       src/libopensrf/osrf_prefork.c
243
244 commit caa10d7d3f4611e78918091dba6e40b2f37f6ba8
245 Author: Jason Boyer <JBoyer@EquinoxInitiative.org>
246 Date:   Wed Jun 2 09:43:12 2021 -0400
247
248     LP1930578: Really Stop Single Services
249     
250     Use the same timeout / escalation method for single services as is
251     used for all services. Punted on any real refactoring for now.
252     
253     Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
254     Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
255
256 6       1       bin/opensrf-perl.pl.in