]> git.evergreen-ils.org Git - OpenSRF.git/log
OpenSRF.git
13 years agoOpenSRF::UnixServer doesn't live here any more
dbs [Fri, 28 Jan 2011 16:18:28 +0000 (16:18 +0000)]
OpenSRF::UnixServer doesn't live here any more

This test was still succeeding on hosts that had installed
previous versions of OpenSRF, but failed on a shiny new
test instance.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2156 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoSet the correct number of expected tests so that we don't fail 100% of the time
dbs [Wed, 26 Jan 2011 03:34:46 +0000 (03:34 +0000)]
Set the correct number of expected tests so that we don't fail 100% of the time

I guess we haven't run "make test" here since r2024 - heh.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2150 9efc2488-bf62-4759-914b-345cdb29e865

13 years agomake the api CALL log line consistent across Perl and C and make it something that...
erickson [Fri, 21 Jan 2011 15:13:55 +0000 (15:13 +0000)]
make the api CALL log line consistent across Perl and C and make it something that can be pasted directly into srfsh

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2147 9efc2488-bf62-4759-914b-345cdb29e865

13 years agorepaired call to handle_request for router query; cannot survive without the self.
erickson [Fri, 21 Jan 2011 15:13:50 +0000 (15:13 +0000)]
repaired call to handle_request for router query; cannot survive without the self.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2146 9efc2488-bf62-4759-914b-345cdb29e865

13 years agorepaired bug in total request time calc, particularly when a request returns no response
erickson [Mon, 20 Dec 2010 02:56:15 +0000 (02:56 +0000)]
repaired bug in total request time calc, particularly when a request returns no response

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2139 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoStraighten out -f / -d flag confusion in libmemcached prerequisite
dbs [Mon, 20 Dec 2010 02:54:50 +0000 (02:54 +0000)]
Straighten out -f / -d flag confusion in libmemcached prerequisite

There are two different styles of checking for previously downloaded
tarballs in this Makefile; the libmemcached entry combined them both
with unfortunate results.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2137 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoPython srfsh enhancements
erickson [Mon, 20 Dec 2010 01:22:19 +0000 (01:22 +0000)]
Python srfsh enhancements

* Srfsh plugins can now insert new commands and add words to the tab
completion word bank.
* Addded support reading script files
* Added support for service open/close (connect/disconnect) for stateful
connections
* Moved to class-based srfsh module for easier state maintenance
* More doc strings

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2134 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoon second thought, removing debug sleep method, which is (more than most) a DOS waiti...
erickson [Mon, 13 Dec 2010 14:58:04 +0000 (14:58 +0000)]
on second thought, removing debug sleep method, which is (more than most) a DOS waiting to happen.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2127 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoimproved select/read/write fault tolerance; cleaner and more efficient child process...
erickson [Mon, 13 Dec 2010 14:54:08 +0000 (14:54 +0000)]
improved select/read/write fault tolerance; cleaner and more efficient child process idle/active list management; improved logging

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2125 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoApply patch for dnsmasq documentation
dbs [Wed, 1 Dec 2010 03:11:53 +0000 (03:11 +0000)]
Apply patch for dnsmasq documentation

Thanks to Michael Giarlo <leftwing@alumni.rutgers.edu> for
providing this correction to the dnsmasq configuration line!

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2122 9efc2488-bf62-4759-914b-345cdb29e865

13 years agofail gracefully when opensrf.settings is not up and running
erickson [Tue, 30 Nov 2010 14:27:50 +0000 (14:27 +0000)]
fail gracefully when opensrf.settings is not up and running

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2120 9efc2488-bf62-4759-914b-345cdb29e865

13 years agodon't clean up child attributes until we're done with them; added pid map hash for...
erickson [Mon, 29 Nov 2010 20:16:21 +0000 (20:16 +0000)]
don't clean up child attributes until we're done with them;  added pid map hash for easy/quick access to child via pid

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2117 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadd fault tolerance (e.g. recover from interrupted select/sysread); always perform...
erickson [Mon, 29 Nov 2010 19:19:02 +0000 (19:19 +0000)]
add fault tolerance (e.g. recover from interrupted select/sysread); always perform idle maintenance when there are any active child processes; exit check status early when no active processes exist

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2114 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoavoid calling sysread when select exited from interruption.
erickson [Mon, 29 Nov 2010 19:18:41 +0000 (19:18 +0000)]
avoid calling sysread when select exited from interruption.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2113 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded opensrf.system.sleep method; takes 1 param (seconds); useful for debugging...
erickson [Mon, 29 Nov 2010 19:18:33 +0000 (19:18 +0000)]
added opensrf.system.sleep method; takes 1 param (seconds); useful for debugging child process management

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2112 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoLenny needs zlib1g-dev package to install XML::LibXML and others
dbs [Mon, 29 Nov 2010 04:11:30 +0000 (04:11 +0000)]
Lenny needs zlib1g-dev package to install XML::LibXML and others

Per https://rt.cpan.org/Public/Bug/Display.html?id=51439; also,
libmemcached failed to configure and build without this.

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2108 9efc2488-bf62-4759-914b-345cdb29e865

13 years agono longer need FreezeThaw
gmc [Wed, 24 Nov 2010 17:16:53 +0000 (17:16 +0000)]
no longer need FreezeThaw

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2105 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoin the rare case the select() is interrupted while waiting on child statuses, exit...
erickson [Mon, 22 Nov 2010 22:22:01 +0000 (22:22 +0000)]
in the rare case the select() is interrupted while waiting on child statuses, exit early to prevent read()'s on invalid file handles and allow the calling code to loop back around and try again

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2102 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded support for introspect operation
erickson [Sat, 20 Nov 2010 15:50:44 +0000 (15:50 +0000)]
added support for introspect operation

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2100 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoinstall srfsh.py when --enable-python is set
erickson [Sat, 20 Nov 2010 15:29:13 +0000 (15:29 +0000)]
install srfsh.py when --enable-python is set

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2098 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded support for paging through 'less' (like C); added 'router' query docs; added...
erickson [Sat, 20 Nov 2010 15:29:02 +0000 (15:29 +0000)]
added support for paging through 'less' (like C); added 'router' query docs;  added separate env vars for pretty printing json and for print network object keys;   explicit opensrf disconnect on exit

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2097 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded network disconnect func
erickson [Sat, 20 Nov 2010 15:28:57 +0000 (15:28 +0000)]
added network disconnect func

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2096 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded 'router' command for router class info queries; improved redline tab completion...
erickson [Fri, 19 Nov 2010 02:42:34 +0000 (02:42 +0000)]
added 'router' command for router class info queries; improved redline tab completion; more changes for consistency with C version; general cleanup

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2092 9efc2488-bf62-4759-914b-345cdb29e865

13 years agorepaired logic in the as-yet-unused import_array_data; use the more efficient enumera...
erickson [Tue, 16 Nov 2010 14:09:09 +0000 (14:09 +0000)]
repaired logic in the as-yet-unused import_array_data; use the more efficient enumerate func; capture array length outside of loop for efficiency; avoid calls to set/get_field and access _data directly inside of the NetworkObject class for faster accessor/mutator's

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2090 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoremoved debug print statement
erickson [Tue, 16 Nov 2010 14:09:02 +0000 (14:09 +0000)]
removed debug print statement

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2089 9efc2488-bf62-4759-914b-345cdb29e865

13 years agorely on logic, not failure through try/catch, to determine of an object is a register...
erickson [Tue, 16 Nov 2010 03:38:06 +0000 (03:38 +0000)]
rely on logic, not failure through try/catch, to determine of an object is a registered network object;  if an object is unregistered, do not treat it as an __unknown network object (which obfuscates and provides no value).

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2086 9efc2488-bf62-4759-914b-345cdb29e865

13 years agokilled the terminal colors in srfsh.py output. They are cute and all, but are likely...
erickson [Tue, 16 Nov 2010 03:37:49 +0000 (03:37 +0000)]
killed the terminal colors in srfsh.py output.  They are cute and all, but are likely the cause of readline oddities/artifacts (and kind of distracting).  Default to raw (json) output for consistency

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2085 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoBump version number for 2.0 branch
dbs [Mon, 15 Nov 2010 21:10:06 +0000 (21:10 +0000)]
Bump version number for 2.0 branch

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2082 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoCreate rel_2_0 branch for next major OpenSRF release
dbs [Mon, 15 Nov 2010 20:49:18 +0000 (20:49 +0000)]
Create rel_2_0 branch for next major OpenSRF release

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2078 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoLimit list of Python services to those within the domain-specific activeapps section
dbs [Sun, 14 Nov 2010 04:15:24 +0000 (04:15 +0000)]
Limit list of Python services to those within the domain-specific activeapps section

Fix up help with correct default PID directory and document list_all action

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2077 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoIf an alternate config file is pointed to in osrf_ctl.sh, respect it
dbs [Thu, 11 Nov 2010 14:47:12 +0000 (14:47 +0000)]
If an alternate config file is pointed to in osrf_ctl.sh, respect it

In a previous edit, I accidentally removed the config file option
from the start_python command, which would break if anything other
than the configured default config file was specified as an option to
osrf_ctl.sh. This makes opensrf.py once again respect the authority
of osrf_ctl.sh.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2076 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoUse the same PID directory as the opensrf-perl.pl and opensrf.py scripts
dbs [Thu, 11 Nov 2010 14:25:02 +0000 (14:25 +0000)]
Use the same PID directory as the opensrf-perl.pl and opensrf.py scripts

The default PID directories for the opensrf-perl.pl and opensrf.py scripts
was /openils/var/run/opensrf (assuming a prefix of '/openils'), while the
default PID directory for osrf_ctl.sh was /openils/var/run. This complicated
matters when trying to restart individual Python or Perl services, as without
passing an explicit PID directory argument the restart command from the
language-specific script would check for a PID in a different PID directory,
find none, and end up running a second copy of the service instead of
restarting the existing service.

The change groups all PIDs in the 'run/opensrf' subdirectory to avoid any
PID file conflicts (as unlikely as that might be) if OpenSRF is installed
in the default location - so rather than /var/local/run/*.pid, one will
be able to look at /var/local/run/opensrf/*.pid

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2075 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdd the sanity-saving step of a munged PERL5LIB to the README
dbs [Wed, 10 Nov 2010 19:14:19 +0000 (19:14 +0000)]
Add the sanity-saving step of a munged PERL5LIB to the README

Thanks for the nudge from Thomas Berezanksy!

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2074 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoCommit some unit tests for Python osrf.json module
dbs [Wed, 10 Nov 2010 03:33:15 +0000 (03:33 +0000)]
Commit some unit tests for Python osrf.json module

Recommendation: add *_test.py scripts that mirror each
osrf.* module in src/python/tests. Boo-yah.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2073 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoosrf.json clean up
dbs [Tue, 9 Nov 2010 22:54:39 +0000 (22:54 +0000)]
osrf.json clean up

  * Use the right variable name in to_json_raw()
  * PEP8 compliance for variable naming
  * Add docstrings
  * Simpler __tabs() implementation

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2072 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoA solution for starting all Python services: make sh do the work
dbs [Tue, 9 Nov 2010 21:39:44 +0000 (21:39 +0000)]
A solution for starting all Python services: make sh do the work

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2071 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoEnhanced do_start() implementation in Python management script
dbs [Tue, 9 Nov 2010 18:17:50 +0000 (18:17 +0000)]
Enhanced do_start() implementation in Python management script

Unclean shutdowns and fork() misery can create PID files that have
no actual process behind them. Instead of just trusting the PID file, check
for the running PID; if the process is not running, then remove the PID file
and actually start the service.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2070 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAssign, don't test equality (thanks berick)
dbs [Tue, 9 Nov 2010 17:54:13 +0000 (17:54 +0000)]
Assign, don't test equality (thanks berick)

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2069 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMake start_all automatically daemonize services
dbs [Tue, 9 Nov 2010 17:28:29 +0000 (17:28 +0000)]
Make start_all automatically daemonize services

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2068 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoGive opensrf.py reasonable defaults for options
dbs [Tue, 9 Nov 2010 16:21:15 +0000 (16:21 +0000)]
Give opensrf.py reasonable defaults for options

Rather than:
opensrf.py -l -d -f /openils/conf/opensrf_core.xml -p /openils/var/run/ -a start_all

you can now use:
opensrf.py -l -d -a start_all

Isn't that better? Note that we put the PIDs into PID_DIR/run/opensrf/
so that if/when OpenSRF is installed outside of the /openils/ prefix,
the names of the processes won't conflict with any other application PIDs.
Unlikely, but you never know.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2067 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoTry not to stomp on global variable names and built-ins, add docstrings
dbs [Tue, 9 Nov 2010 15:58:21 +0000 (15:58 +0000)]
Try not to stomp on global variable names and built-ins, add docstrings

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2066 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoTypos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/
dbs [Tue, 9 Nov 2010 14:59:21 +0000 (14:59 +0000)]
Typos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2065 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoTypo: Pass in the array of servers to the memcached client if we have one
dbs [Tue, 9 Nov 2010 14:56:01 +0000 (14:56 +0000)]
Typo: Pass in the array of servers to the memcached client if we have one

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2064 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoReference constants properly
dbs [Tue, 9 Nov 2010 14:46:03 +0000 (14:46 +0000)]
Reference constants properly

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2063 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMake pylint happier with PEP8-compliant argument name
dbs [Tue, 9 Nov 2010 14:32:13 +0000 (14:32 +0000)]
Make pylint happier with PEP8-compliant argument name

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2062 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoFix daemonize problem that surfaced in start_all
dbs [Tue, 9 Nov 2010 14:22:25 +0000 (14:22 +0000)]
Fix daemonize problem that surfaced in start_all

Thanks to Michael Giarlo for reporting the problem, Bill Erickson
for pointing the way to the solution, and http://bugs.python.org/issue5313
for providing me with more context for the problem & solution.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2061 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMore debuggery for the spawning of child processes
dbs [Tue, 9 Nov 2010 13:59:55 +0000 (13:59 +0000)]
More debuggery for the spawning of child processes

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2060 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMinutes and months were reversed in Python logging timestamps
dbs [Tue, 9 Nov 2010 13:50:43 +0000 (13:50 +0000)]
Minutes and months were reversed in Python logging timestamps

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2059 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdd a Python and curl example of invoking the Perl simpletext services
dbs [Tue, 9 Nov 2010 01:59:03 +0000 (01:59 +0000)]
Add a Python and curl example of invoking the Perl simpletext services

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2058 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdd a streaming version of the split() method in simpletext example
dbs [Tue, 9 Nov 2010 01:57:38 +0000 (01:57 +0000)]
Add a streaming version of the split() method in simpletext example

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2057 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMake opensrf-perl.pl handle missing configuration for services more gracefully
dbs [Mon, 8 Nov 2010 21:03:55 +0000 (21:03 +0000)]
Make opensrf-perl.pl handle missing configuration for services more gracefully

As we might want to ship configuration files with commented out sections,
this will alert the user that a service was listed in the hosts section
but the configuration for that service could not be found.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2056 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoPatch from Michael Giarlo to integrate python service control into osrf_ctl.sh.
erickson [Fri, 5 Nov 2010 20:57:43 +0000 (20:57 +0000)]
Patch from Michael Giarlo to integrate python service control into osrf_ctl.sh.

I made the following additional changes:

1. copy opensrf.py into the BIN dir during install when --enable-python is used.

2. osrf_ctl.sh will not attempt to control python services when python is not enabled for opensrf.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2055 9efc2488-bf62-4759-914b-345cdb29e865

13 years agopatch from Michael Giarlo for better sanity checking during settings file reading...
erickson [Fri, 5 Nov 2010 15:15:53 +0000 (15:15 +0000)]
patch from Michael Giarlo for better sanity checking during settings file reading in python (avoid #comment's)

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2054 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded osrf.apps to installed pachages (thanks for the tip, dbs). bumped version...
erickson [Fri, 5 Nov 2010 14:48:14 +0000 (14:48 +0000)]
added osrf.apps to installed pachages (thanks for the tip, dbs).  bumped version in prep for 2.0

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2053 9efc2488-bf62-4759-914b-345cdb29e865

13 years agosocket_bundle typo patch from Jason Stephenson
erickson [Fri, 5 Nov 2010 12:59:00 +0000 (12:59 +0000)]
socket_bundle typo patch from Jason Stephenson

Further discussion and DCO:

http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-November/006476.html

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2051 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoconsistent w/ the C libs, only log server message processing duration at INFO. log...
erickson [Tue, 26 Oct 2010 14:12:15 +0000 (14:12 +0000)]
consistent w/ the C libs, only log server message processing duration at INFO.  log server response processing duration at debug and w/ slighly different wording.  let the processing duration log message act as the indication of a successfully handled message to reduce logging

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2049 9efc2488-bf62-4759-914b-345cdb29e865

13 years agolog message processing duration at INFO level, instead of DEBUG, consistent with...
erickson [Mon, 25 Oct 2010 16:28:23 +0000 (16:28 +0000)]
log message processing duration at INFO level, instead of DEBUG, consistent with the C libs

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2047 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoPlug a minor memory leak that could occur when we opened a TCP connection
scottmk [Thu, 14 Oct 2010 16:30:17 +0000 (16:30 +0000)]
Plug a minor memory leak that could occur when we opened a TCP connection
to a server.  In practice this meant whenever we opened a Jabber session.

We call getaddrinfo() to get a dynamically allocated linked list of
addresses for a given server name.  Then we traverse the list, looking
for one that accepts streaming connections over IPV4, in order to get
an IP address.

At the end, we call freeaddrinfo() to free the linked list.

Previously we would pass to freeaddrinfo() a pointer, not to the
head of the list, but to the node that we used for getting an IP
address.  Prior nodes, if any, would leak.

Also: added calls to freeaddrinfo() in the case of early returns, to
avoid leaking the list in the event of an error.

M    src/libopensrf/socket_bundle.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2036 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoimplemented an optional per-service stderr log for capturing miscellaneous stderr...
erickson [Tue, 12 Oct 2010 14:53:41 +0000 (14:53 +0000)]
implemented an optional per-service stderr log for capturing miscellaneous stderr output from services, similar to the old-style _unix.log files, since there are often useful warnings and error messages that never bubble up to syslog.  for clarity, the files now use _stderr as a suffix instead of _unix.  stderr logs are enabled by default.  included opensrf.xml example of how to disable it for a given service

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2035 9efc2488-bf62-4759-914b-345cdb29e865

13 years agowhen we add xhr responses onto the end of the queue, stash the original session as...
erickson [Tue, 12 Oct 2010 02:58:16 +0000 (02:58 +0000)]
when we add xhr responses onto the end of the queue, stash the original session as well, otherwise we're attempting to ask a session questions about requests it's not tracking

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2031 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoin json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code path...
erickson [Thu, 7 Oct 2010 12:57:56 +0000 (12:57 +0000)]
in json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code path.  we lose some abstraction, but it's probably worth it here

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2030 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoWork around a Net::Domain bug that can result in fqdn's like foo.example.com,bar.com
dbs [Tue, 28 Sep 2010 17:35:26 +0000 (17:35 +0000)]
Work around a Net::Domain bug that can result in fqdn's like foo.example.com,bar.com

The bug manifested when trying to run autogen.sh, with the output:
Updating fieldmapper
No Response from settings server...going to sleep

This was because SettingsParser was generating invalid XPath and consquently
errors in the opensrf.settings service; with no response, the attempt to run
autogen.sh would die.

This workaround splits the fqdn on commas and tries each possible domain in
the server setting XPath. Long term we either need to wait for Net::Domain
bug #60729 (https://rt.cpan.org/Public/Bug/Display.html?id=60729) to be
resolved, or consider alternatives.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2029 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoreturn the trace-augmented message as written to the log
miker [Tue, 28 Sep 2010 00:04:19 +0000 (00:04 +0000)]
return the trace-augmented message as written to the log

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2028 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoremoving vestigial references to Inbound.pm, which no longer exists in the repository...
erickson [Mon, 13 Sep 2010 15:44:11 +0000 (15:44 +0000)]
removing vestigial references to Inbound.pm, which no longer exists in the repository.  this also removes get/set_listener, which were never taken advantage of and are no longer of use since the listener is thoroughly hard-coded into the opensrf stack now

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2024 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoBump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.
dbs [Thu, 9 Sep 2010 17:09:42 +0000 (17:09 +0000)]
Bump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.

perlmodstyle says "A correct CPAN version number is a floating point
number with at least 2 digits after the decimal." so we're not in
compliance in any case. Oh well.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2023 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoUpdate the manifest for Perl modules to avoid build warnings
dbs [Sun, 5 Sep 2010 02:31:35 +0000 (02:31 +0000)]
Update the manifest for Perl modules to avoid build warnings

r2016 removed two Perl modules, src/perl/lib/OpenSRF/Transport/SlimJabber/Inbound.pm
and src/perl/lib/OpenSRF/UnixServer.pm, and the build gets upset because the
manifest suggests they're missing. But no, we know where they are, and we
don't expect them to come back.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2021 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoadded support for reading ContinueStatus opensrf messages in the JS opensrf lib
erickson [Wed, 1 Sep 2010 17:34:56 +0000 (17:34 +0000)]
added support for reading ContinueStatus opensrf messages in the JS opensrf lib

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2019 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoupdated mailing address of the FSF
gmc [Wed, 1 Sep 2010 13:56:12 +0000 (13:56 +0000)]
updated mailing address of the FSF

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2018 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoremove executable bit from module files that don't need it
gmc [Wed, 1 Sep 2010 13:43:25 +0000 (13:43 +0000)]
remove executable bit from module files that don't need it

Small nit to pick for Debianization.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2017 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoReplace Net::Server with local pre-forking server
erickson [Wed, 1 Sep 2010 00:17:12 +0000 (00:17 +0000)]
Replace Net::Server with local pre-forking server

Support max/min children and max/min spare children
For more, see http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-May/006068.html

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2016 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoremove ntp and ntpdate dependencies
gmc [Tue, 31 Aug 2010 20:49:44 +0000 (20:49 +0000)]
remove ntp and ntpdate dependencies

Not used by OpenSRF; these are legacies of
Evergreen dependencies at the time OpenSRF was
split off.  Quite likely a bunch of deps in
Makefile.install aren't needed by OpenSRF
proper.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2015 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoDue to the async nature of xmllhttprequest, processing http responses (which often...
erickson [Wed, 18 Aug 2010 20:11:18 +0000 (20:11 +0000)]
Due to the async nature of xmllhttprequest, processing http responses (which often lead to further async-request laden callbacks) at receive time can result in out-of-order message handling.  To bring order to this chaos, push all inbound message onto a queue, then go back to processing the older messages in order of oldest to newest.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2008 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoA few minor tweaks in the name of const-correctness.
scottmk [Mon, 16 Aug 2010 16:27:32 +0000 (16:27 +0000)]
A few minor tweaks in the name of const-correctness.

M    src/router/osrf_router_main.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2007 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoSeveral minor and inconsequential changes:
scottmk [Mon, 16 Aug 2010 15:18:08 +0000 (15:18 +0000)]
Several minor and inconsequential changes:

1. Tidied up the white space in a few places.

2. Commented out several unused functions, used only for development,
in order to eliminate some annoying compiler warnings.

3. Added the const qualifier to several variables.

4. Added three branches to a switch/case structure, in order to
eliminate some compiler warnings about untested enum values.  The
new branches merely issue warning messages to the log (presumably
we don't expect to see RESULT or STATUS messages in this
context).

M    src/gateway/osrf_http_translator.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2006 9efc2488-bf62-4759-914b-345cdb29e865

13 years ago1. Pedantic change for const-correctness: replaced all calls to
scottmk [Sun, 15 Aug 2010 00:57:53 +0000 (00:57 +0000)]
1. Pedantic change for const-correctness: replaced all calls to
jsonObjectGetKey() with calls to jsonObjectGetKeyConst().

2. Tidied up white space and comments here and there.

M    src/router/osrf_router_main.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2005 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoPedantic change for const-correctness: change three calls to
scottmk [Sat, 14 Aug 2010 21:38:11 +0000 (21:38 +0000)]
Pedantic change for const-correctness: change three calls to
jsonObjectGetKey() to call jsonObjectGetKeyConst() instead.

M    src/gateway/osrf_http_translator.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2004 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoPedantic change for const-correctness: replace two calls to
scottmk [Sat, 14 Aug 2010 21:14:55 +0000 (21:14 +0000)]
Pedantic change for const-correctness: replace two calls to
jsonObjectGetKey() with calls to jsonObjectGetKeyConst().

M    src/libopensrf/osrf_parse_json.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2003 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMinor performance tweak: replace a call to buffer_add()
scottmk [Sat, 14 Aug 2010 20:48:08 +0000 (20:48 +0000)]
Minor performance tweak: replace a call to buffer_add()
with a call to buffer_add_n().

In this case we already know how many characters to add,
so we can avoid a call to strlen().

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2002 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdd some macros for upward compatibility from the old JSON parser.
scottmk [Sat, 14 Aug 2010 11:33:08 +0000 (11:33 +0000)]
Add some macros for upward compatibility from the old JSON parser.

These macros map the old functions to the equivalent new ones.

M    include/opensrf/osrf_json.h

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2001 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoEliminate the old JSON parser, implemented in osrf_json_parser.c and
scottmk [Sat, 14 Aug 2010 11:09:47 +0000 (11:09 +0000)]
Eliminate the old JSON parser, implemented in osrf_json_parser.c and
the associated header osrf_json_utils.h.

This parser has been completely replaced by a newer one implemented
in osrf_parse_json.c, plus an incremental JSON parser (so far
unused) in jsonpush.c..

The even older parser of JSON-with-comments is not affected.

D    include/opensrf/osrf_json_utils.h
M    include/opensrf/osrf_json.h
D    src/libopensrf/osrf_json_parser.c
M    src/libopensrf/osrf_json_object.c
M    src/libopensrf/Makefile.json
M    src/libopensrf/osrf_json_tools.c
M    src/libopensrf/Makefile.am
M    src/libopensrf/osrf_parse_json.c
M    Makefile.am

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2000 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoGet the extra_debs into Squeeze as well; fix a typo in libmemcached-tools
dbs [Fri, 13 Aug 2010 17:21:51 +0000 (17:21 +0000)]
Get the extra_debs into Squeeze as well; fix a typo in libmemcached-tools

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1999 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMake the names of the rules for installing extra Squeeze debs line up
dbs [Fri, 13 Aug 2010 16:31:12 +0000 (16:31 +0000)]
Make the names of the rules for installing extra Squeeze debs line up

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1998 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMake log length in Perl logger a configurable value to assist debugging
dbs [Fri, 13 Aug 2010 16:20:01 +0000 (16:20 +0000)]
Make log length in Perl logger a configurable value to assist debugging

If logging to syslog instead of a file, you might need to adjust the
syslog configuration to accept longer than its own default lengths of
log messages

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1997 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMinor cleanup:
scottmk [Fri, 13 Aug 2010 16:16:25 +0000 (16:16 +0000)]
Minor cleanup:

Changed two calls to buffer_add(), when appending a single character,
to call buffer_add_char() instead, which is slightly more efficient.

M    src/srfsh/srfsh.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1996 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoFirst cut at adding Debian Squeeze to OpenSRF prerequisite installer
dbs [Fri, 13 Aug 2010 16:16:05 +0000 (16:16 +0000)]
First cut at adding Debian Squeeze to OpenSRF prerequisite installer

Along the way, make a few other changes:
  * drop Debian Etch and Gentoo support
  * add dscott@laurentian.ca to the author list
  * remove Class::DBI as that's actually a prereq for Evergreen, not OpenSRF

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1995 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdding comments and tinkering with white space.
scottmk [Wed, 11 Aug 2010 02:58:25 +0000 (02:58 +0000)]
Adding comments and tinkering with white space.
No substantive changes.

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1994 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoProvide a way for a service to set the effective buffer size for a
scottmk [Tue, 10 Aug 2010 02:13:39 +0000 (02:13 +0000)]
Provide a way for a service to set the effective buffer size for a
specified method.

Non-atomic methods accumulate RESULT messages into a buffer, from which
they are flushed when the buffer is about to overflow, or when the
closing STATUS message is issued.

The new osrfMethodSetBufferSize() function allows the service to favor
large buffers (for greater throughput) or small ones (for a lower
latency for the first response).

Since the buffersize is not an absolute limit, the effective buffer
size may be set to zero, in which case each RESULT message will be
packaged and sent in a separate XMPP message as soon as it is ready.

Changing the buffer size has no effect on an atomic method, nor on a
method that returns only one RESULT message.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1993 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoCruft removal; there should be no outwardly visible effects.
scottmk [Mon, 9 Aug 2010 16:18:05 +0000 (16:18 +0000)]
Cruft removal; there should be no outwardly visible effects.

1. Remove the OSRF_METHOD_ATOMIC and OSRF_METHOD_SYSTEM options
from the interface functions osrfRegisterMethod() and
osrfRegisterExtendedMethod().

An application cannot usefully apply these options when it registers
a method, and if it tries, it will almost certainly not work as
intended anyway.

This change required considerable refactoring of the code
responsible for registering methods.

2. When the attempt to initialize an application fails, remove
the application from the application list and destroy it,
instead of keeping it around in an unusable state.

3. Eliminate some redundant lookups of application by name
when registering system methods.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1992 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoFixed a bug in the chunking.
scottmk [Mon, 9 Aug 2010 12:31:33 +0000 (12:31 +0000)]
Fixed a bug in the chunking.

Short version: The non-atomic system methods weren't working.  Now
they are.

Long version: When a method returns a value greater than zero, a
post-processing step sends a STATUS message to signify that the
response is complete.  In the old code this post-processing
bypassed the buffer-flushing step, so that anything still in the
buffer didn't get sent.

The non-atomic system methods returned positive return codes and
were therefore subject to this problem.  I don't know if any
non-system methods return postive return codes, but if they do,
they would also have been affected.

M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1991 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoset transaction ID by default to make it easier to trace requests from srfsh
gmc [Thu, 5 Aug 2010 17:40:45 +0000 (17:40 +0000)]
set transaction ID by default to make it easier to trace requests from srfsh

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1990 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoalways use respond_complete to finish a request, whether there is a final message...
miker [Wed, 4 Aug 2010 17:32:20 +0000 (17:32 +0000)]
always use respond_complete to finish a request, whether there is a final message or not

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1989 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoImplement the chunking of OSRF messages. I.e. bundle multiple
scottmk [Wed, 4 Aug 2010 03:20:33 +0000 (03:20 +0000)]
Implement the chunking of OSRF messages.  I.e. bundle multiple
OSRF messages into an XMPP message, up to about 10k bytes, so
as to reduce networking overhead.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1988 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoMike, when adding the length, actually add the length, not the string
miker [Tue, 3 Aug 2010 02:47:00 +0000 (02:47 +0000)]
Mike, when adding the length, actually add the length, not the string

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1987 9efc2488-bf62-4759-914b-345cdb29e865

13 years ago1. Add a buffer to osrfAppSession structure; for future use
scottmk [Thu, 29 Jul 2010 19:38:21 +0000 (19:38 +0000)]
1. Add a buffer to osrfAppSession structure; for future use

2. New function osrfSendTransportPayload().  This a repackaging of
existing functionality pulled out into a separate function so that
it can be reused in other contexts.

These changes are preparation for future changes, and will have no
visible effect by themselves.

M    include/opensrf/osrf_app_session.h
M    src/libopensrf/osrf_app_session.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1986 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoAdd response chunking support to the Perl implementation of OpenSRF
miker [Thu, 29 Jul 2010 17:40:03 +0000 (17:40 +0000)]
Add response chunking support to the Perl implementation of OpenSRF

Two new optional paramters to register_method are now supported:
 * max_chunk_size
 * max_chunk_count

OpenSRF has always supported message bundling, but only respond_complete made
use of this fact by sending the final result message and the completion status
message in the same XMPP envelope.  Now, on a per method basis, RESULT messages
can be bundled (cached) until one of three conditions occurs:

 * The size of the JSON of the RESULT messages matches or exceeds max_chunk_size
 * The number of RESULT messages cached matches or exceeds max_chunk_count
 * respond_complete is called (which happens implicitly by returning from a method)

Because the overhead of sending multiple XMPP messages far outweighs the caching
and cache management costs of chunking, the default for max_chunk_size is set
at 10240 bytes (10k).  The default for max_chunk_count is 0.  To turn off chunking
completely, set the max_chunk_size register_method parameter to 0.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1985 9efc2488-bf62-4759-914b-345cdb29e865

13 years ago1. Make osrfMessageToJSON() available at global scope.
scottmk [Thu, 29 Jul 2010 14:24:58 +0000 (14:24 +0000)]
1. Make osrfMessageToJSON() available at global scope.

2. New function osrf_message_set_result() -- a more efficient alternative
to osrf_message_set_result_content().

Typically when using the older function, we convert a jsonObject to JSON
text, and then parse the JSON text back into a jsonObject.  With the new
function we can avoid the round trip through the text format.

M    include/opensrf/osrf_message.h
M    src/libopensrf/osrf_message.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1984 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoWhitespace / description cleanup
dbs [Tue, 13 Jul 2010 06:11:14 +0000 (06:11 +0000)]
Whitespace / description cleanup

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1983 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoTeach opensrf-perl.pl the same PID directory as osrf_ctl.sh
dbs [Tue, 13 Jul 2010 06:10:48 +0000 (06:10 +0000)]
Teach opensrf-perl.pl the same PID directory as osrf_ctl.sh

This should cut down on one more command-line option when working
with individual Perl services.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1982 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoTypo fix to display all OpenSRF methods: sysemt -> system
dbs [Tue, 13 Jul 2010 06:09:14 +0000 (06:09 +0000)]
Typo fix to display all OpenSRF methods: sysemt -> system

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1981 9efc2488-bf62-4759-914b-345cdb29e865

13 years agoRecent testing has been with libmemcached 0.40; bring that into line
dbs [Thu, 1 Jul 2010 04:09:56 +0000 (04:09 +0000)]
Recent testing has been with libmemcached 0.40; bring that into line

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1975 9efc2488-bf62-4759-914b-345cdb29e865