Change default for swarm.gdplogd.advertise.interval to 300 seconds since
advertising large numbers of logs can take close to 150 seconds (the old
Remove advertisement delay --- it didn't fix the problem we were seeing.
Add swarm.gdplogd.advertise.delay parameter to delay between
advertisements to avoid flooding the network when there are many logs on
a server. Defaults to 100 (microseconds).
Fix documentation for swarm.gdp.data.root and add documentation for
Split variable swarm.gdplogd.log.dir into swarm.gdp.data.dir (the root
of persistent data) and swarm.gdplogd.log.dir (relative to the other).
This is primarily to make container management easier.
Also, when reading parameter files, allow auto-qualification with the...
Fix documentation glitch (repeated info, no changes).
Make it easy to set an SQLite "busy timeout" to make concurrent access
to logs more resilient. Use swarm.gdplogd.sqlite.pragma.busy_timeout to
set this (value in milliseconds).
Add new administrative parameters to ignore SIGPIPE in gdplogd
(swarm.gdplogd.ignore.sigpipe) and applications in general
(swarm.gdp.ignore.sigpipe). This allows the library to reconnect to the
router if the connection gets interrupted during a write. However,...
Add gdplogd administrative parameters to tweak SQLite3 pragmas that are
likely to affect performance. They are all named
"swarm.gdplogd.sqlite.pragma." with names (and defaults, where
Some performance improvements in gdplogd on-disk implementation plus
tuning parameters for Berkeley DB.
Update man pages to match previous commit.
Move some of the assertion recover cleverness from gdplogd into libep so
it is more generally available. Also updates the documentation to make
it clearer (I hope).
Rationalize swarm.gdp.subscr.deadintvl and swarm.gdplogd.subscr.timeout.
Rename deadintvl to be timeout and swarm.gdp.subscr.pokeintvl to
swarm.gdp.subscr.refresh for consistency.
Force all assertions to be fatal if more than N of them happen in T
seconds. Set by swarm.gdplogd.assert.maxasserts and
Change swarm.gdplogd.advertise.interval default to 150 (2.5 minutes).
If the value is zero, advertisements are not refreshed.
Periodically refresh log advertisements (gdplogd => router). Adds
swarm.gdplogd.advertise.interval parameter (defaults to 30 (seconds)).
Add swarm.gdp.sequencing.allow(dups|gaps) options. Fix
resynchronization mechanism (hopefully).
First cut at read-by-timestamp. Adds Berkeley DB as a dependency (two
versions supported). The interface still isn't quite right; in
particular, subscribe and multiread don't take timestamps. This should
be remedied before this code is released.
Add some documentation for the administrative statistics gathering.
Make default GCL directory be /var/swarm/gdp/gcls (and update
documentation and build/install scripts to reflect that).
Allow gdplogd to expire subscriptions that have not been renewed. This
essentialy implements leases.
Add more documentation; a few code changes to make parameter naming more
consistent (as became obvious writing the documentation).