lp:opensrf

Created by OpenSRF Project Leads on 2011-10-18 and last modified on 2019-02-19
Get this branch:
bzr branch lp:opensrf

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
OpenSRF Project Leads
Project:
OpenSRF
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://git.evergreen-ils.org/OpenSRF.git.

The next import is scheduled to run in 4 hours.

Last successful import was 1 hour ago.

Import started 1 hour ago on alnitak and finished 1 hour ago taking 20 seconds — see the log
Import started 7 hours ago on izar and finished 7 hours ago taking 15 seconds — see the log
Import started 13 hours ago on izar and finished 13 hours ago taking 15 seconds — see the log
Import started 19 hours ago on izar and finished 19 hours ago taking 15 seconds — see the log
Import started on 2019-04-22 on alnitak and finished on 2019-04-22 taking 15 seconds — see the log
Import started on 2019-04-22 on izar and finished on 2019-04-22 taking 15 seconds — see the log
Import started on 2019-04-21 on alnitak and finished on 2019-04-21 taking 15 seconds — see the log
Import started on 2019-04-21 on izar and finished on 2019-04-21 taking 15 seconds — see the log
Import started on 2019-04-21 on alnitak and finished on 2019-04-21 taking 20 seconds — see the log
Import started on 2019-04-21 on izar and finished on 2019-04-21 taking 15 seconds — see the log

Recent revisions

2222. By Jason Stephenson on 2019-02-19

Lp 1808580: Remove Installation Support for Ubuntu 14.04

Remove references to Ubuntu 14.04 from the README and the
Makefile.install prerequisites.

Signed-off-by: Jason Stephenson <email address hidden>
Signed-off-by: Ben Shum <email address hidden>

2221. By Galen Charlton on 2019-01-04

LP#1729610: extend backlog queue to C apps

This patch extends the notion of a backlog queue to C apps and
offers the same functionality as the Perl side of the patch series:

- max_backlog_queue configuration setting
- ability to queue messages up to the configured limit
- ability to drop requests that would overflow the backlog
  queue and send status 503 exceptions back to the client.

This patch also adds a new service, opensrf.cslow, that implements
a opensrf.cslow.wait method similar to the Perl opensrf.slooooooow
service.

To test
-------
[1] Set a low max_backlog_queue for opensrf.cslow and a low
    max_children.
[2] Arrange for srfsh to fire off a bunch of opensrf.cslow.wait
    requests.
[3] Verify that requests that come in after the backlog queue fills
    up immediately get 503 exceptions.

Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2220. By Galen Charlton on 2019-01-04

LP#1729610: return new OpenSRF status if backlog queue fills up

This patch teaches Perl services how to return a new OpenSRF status,
OSRF_STATUS_SERVICEUNAVAILABLE (code 503) if the backlog queue
for a service gets full.

To test
-------
[1] Set a low max_backlog_queue for opensrf.sloooow and a low
    max_children.
[2] Arrange for srfsh to fire off a bunch of opensrf.sloooow.wait
    requests.
[3] Verify that requests that come in after the backlog queue fills
    up immediately get 503 exceptions.

Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2219. By Galen Charlton on 2019-01-04

LP#1729610: make it possible to set max_backlog_queue in opensrf.xml

This patch adds a new service configuration option, max_backlog_queue,
to allow controlling the size of the backlog queue.

If not otherwise specified in opensrf.xml, max_backlog_queue defaults
to 1000.

Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2218. By Remington Steed on 2019-01-04

LP#1729610: Fix incorrect param description

Mike confirmed that the code expects "pause" to be an integer. This
commit changes the description to reflect that, and to mention the
default value.

Signed-off-by: Remington Steed <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2217. By Mike Rylander on 2019-01-04

LP#1729610: Add some debug/internal logging to backlog queue

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2216. By Mike Rylander on 2019-01-04

LP#1729610: Add a service useful for testing behavior in slow response conditions

This service, opensrf.slooooooow, offers a opensrf.slooooooow.wait method
that waits for the number of seconds specified in its sole parameter.

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2215. By Mike Rylander on 2019-01-04

LP#1729610: Allow queuing (for a while) during child backlog

This patch teaches OpenSRF listeners for Perl services how to maintain
a queue of requests in case no drone process is immediately available
to process a requeust.

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Mike Rylander <email address hidden>

2214. By Bill Erickson on 2018-12-17

LP#1803182 Websocketd graceful shutdown support

Give websocketd clients a chance to complete any requests that are
in-process at time of shutdown.

Graceful shutdown is initiated by sending a SIGUSR1 signal to the
websocket-osrf child processes or to the parent process group.

This can be done directly via:

$ kill -s USR1 -$websocketd_parent_pid

Or via systemd for systemd users:

$ sudo systemctl kill -s USR1 websocketd-osrf

Note the websocketd parent process ignores SIGUSR1.

Once initiated, the websocketd backend goes into shutdown mode polling
for a graceful shutdown window, which occurs when all request up to now
have been completed. Once that moment arrives, the client is kicked off
and must connect to a new websocketd instance to issue any new requests.

The polling period lasts for SHUTDOWN_MAX_GRACEFUL_SECONDS seconds (in
osrf-websocket-stdio.c), which currently defaults to 2 minutes.

Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>

2213. By Bill Erickson on 2018-11-05

LP#1706147 Perl Force-Recycle drone option

Creates an API-level option to inform the OpenSRF drone management code
that the running drone should be recycled upon completion of the current
OpenSRF session. This allows for quicker release of resources consumed
by the drone.

To use:

sub some_api_method {
    my ($self, $client, ...) = @_;
    $self->session->force_recycle(1);
    ...
}

Signed-off-by: Bill Erickson <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.