| Branch: | Tag: | Revision:

gdp / gdplogd / logd.c @ master

History | View | Annotate | Download (11.9 KB)

# Date Author Comment
d89488db 07/09/2020 11:20 AM Eric Allman

It turns out gdplogd does need HONGD (in order to parse its own name).

86c9dc0e 04/11/2019 10:52 AM Eric Allman

Change default for swarm.gdplogd.advertise.interval to 300 seconds since
advertising large numbers of logs can take close to 150 seconds (the old

b6fd1b13 04/09/2019 04:16 PM Eric Allman

Try to make sure re-advertising doesn't occur too quickly after a

c7c537a3 04/02/2019 05:51 PM Eric Allman

Use consistent naming when reading signature strictness parameter.

a1e5eca3 03/22/2019 11:59 AM Eric Allman

Fix advertising and withdrawal to actually delay between each
advertisement. Required changing handling of event loop startup and

5c2abdd9 03/20/2019 03:51 PM Eric Allman

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).

866c2ca2 01/23/2019 01:17 PM Eric Allman

Pass flags to GDP library initialization routines. Add flags to disable
Zeroconf and suppress initialization of HONGDS, which is unused in some

c87dd166 01/23/2019 07:56 AM Eric Allman

Update license date on all files. No functional changes.

be19c14d 01/06/2019 06:59 PM Eric Allman

First cut at resurrecting log-view (now gdp-log-view) for v2 format.
Still needs some tweaking, but basics work.

e6319882 09/04/2018 09:09 AM Eric Allman

First pass at ordering results of asynchronous reads. Works if the
reads come in pre-sorted, but so far untested for out-of-order delivery.

5edf4ad2 08/23/2018 12:43 PM Eric Allman

Pass Layer 4 network sequence number to higher layers.

55f8e918 07/12/2018 02:28 PM Eric Allman

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,...

1a1a88c7 06/25/2018 01:55 PM Eric Allman

Avoid problems with the name of gdplogd during upgrades.

bd278f2e 06/08/2018 11:45 AM Eric Allman

Snapshot: change physical interface to make more efficient use of SQLite
when retrieving sets. Use this for asynchronous reads.

92243bf4 05/25/2018 01:22 PM Eric Allman

Snapshot in on-disk format conversion from ad hoc files to SQLite
databases. Compiles but is completely untested.

8bebf0e3 02/26/2018 11:11 AM Eric Allman

Get basic subscriptions working again.

53393e9c 02/20/2018 03:26 PM Eric Allman

Snapshot of work on getting subscriptions working under Net4. Still
has several problems.

fbdf93fb 01/24/2018 09:52 AM Eric Allman

Print out version number on startup if debugging is turned on.

d2422e31 01/23/2018 05:06 PM Eric Allman

Fixes to prevent C++ compile errors for variables that are not
initialized and not used. This isn't a problem with C, and it's not a
bug, just an annoying C++-ism.

2b555b8a 01/23/2018 04:26 PM Eric Allman

Change GdplogdForgive from a struct to a bitmask. Simplified C++

fc0cbc23 01/23/2018 04:09 PM Eric Allman

Changes necessary to compile under C++ because it doesn't understand
that (void *) is compatible with other pointer types. This adds a lot
of explicit casts that are not needed in C.

d65c01e2 01/09/2018 11:18 AM Eric Allman

First cut at running Layer 5 network protocol version 4 over old
(version 3) Layer 4 stack. Substantial parts are unimplemented,
including signature generation and checking, read or subscribe by
timestamp or hash, and others. No asynchronous operations including...

6c983368 11/13/2017 10:09 AM Eric Allman

Snapshot. Trying to get advertising working on startup. This may be a
larger problem if advertisements need to use challenge-response given
that the I/O thread has been eliminated in gdplogd.

833b2d3d 11/08/2017 12:38 PM Eric Allman

Return to compilable state after rebase. No testing.

06d39be9 11/08/2017 12:38 PM Eric Allman

First cut at new net protocol. Compiles, but not yet tested (not even
once --- do not try to run this!).

f2bf61a4 11/08/2017 12:38 PM Eric Allman

Snapshot. Not tested.

5a73c6ad 11/08/2017 12:36 PM Eric Allman

First cut at new net protocol. Compiles, but not yet tested (not even
once --- do not try to run this!).

fec93aac 10/24/2017 02:38 PM Eric Allman

First cut at separating GCL instances (GINs) from GDP Objects (GOBs).
This is intended to fix some semantic problems with subscriptions. End
users always use GINs (aliased to gdp_gcl_t for now for compatibility),
and there is one GIN for each call to gdp_gcl_open (i.e., no returning...

c71b5a7a 06/28/2017 11:15 AM Eric Allman

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).

f9681609 06/24/2017 07:48 AM Eric Allman

gdplogd should default to being more forgiving about assertions.

ee6b5440 05/10/2017 01:17 PM Eric Allman

Attempt to allow GCLs to be cached in applications. This is
specifically for gdp-rest, but there may be other cases where it is

a08413a6 03/29/2017 01:18 PM Eric Allman

Add request allocation statistics (for debugging).

b053ad1e 03/03/2017 01:41 PM Eric Allman

Lock stderr while printing state dump to make it readable.

0d681cba 02/21/2017 08:38 AM Eric Allman

Additional debug output on SIGABRT to try to diagnose Rico's problem.

91c89ae4 02/16/2017 12:10 PM Eric Allman

Make it possible to reclaim resources in a worker thread rather than in
the main event loop.

897accec 02/06/2017 10:41 AM Eric Allman

Update licenses to 2017.

a44e9415 02/06/2017 10:36 AM Eric Allman

Add stack backtrace on assertion failures.

7ea1b9d5 02/06/2017 10:36 AM Eric Allman

Force all assertions to be fatal if more than N of them happen in T
seconds. Set by swarm.gdplogd.assert.maxasserts and
swarm.gdplogd.assert.resetinterval respectively.

2bd3be0e 10/28/2016 11:24 AM Eric Allman

First cut at using kinder, gentler assertions (mostly in gdp library).

bfb5cd0d 10/27/2016 08:37 AM Eric Allman

Arrange to do systemd notifications if available. Note that the package
systemd-dev must be installed previously (this is not the default!).

56f047d8 10/08/2016 11:59 AM Eric Allman

Yet more debug tweaking.

195530a2 10/08/2016 08:04 AM Eric Allman

Default swarm.gdplogd.sequencing.allowdups to true. Improved debugging.

a69835f5 10/06/2016 09:14 AM Eric Allman

Change swarm.gdplogd.advertise.interval default to 150 (2.5 minutes).
If the value is zero, advertisements are not refreshed.

67898fe7 10/03/2016 10:49 AM Eric Allman

Periodically refresh log advertisements (gdplogd => router). Adds
swarm.gdplogd.advertise.interval parameter (defaults to 30 (seconds)).

931d824e 09/30/2016 08:24 AM Eric Allman

Default to allowing gaps on (necessary for asynchronous appends to work
with a thread pool); change debug message to make out of order writes
look less like an error condition.

c102736d 08/23/2016 06:09 PM Eric Allman

Try to improve the "allow gaps" and "allow dups" functionality for
replication research.

54e2f093 08/23/2016 01:10 PM Eric Allman

Fsync all files when a GCL is closed. By default, close all open GCLs
on shutdown (e.g., SIGTERM). This is an attempt to make corruption less

c99f5df2 08/16/2016 05:00 PM Eric Allman

Accept either SIGINFO or SIGUSR1 to print out stats (to make scripts
easier to write).

b5d79aea 08/01/2016 10:44 AM Eric Allman

Add "forgiveness" to gdplogd to allow it to self heal from various
problems. May be a security problem, but we need it for avoiding
catastrophes while we are debugging.

748ec3f8 06/14/2016 11:47 AM Eric Allman

Make sure the log shows something when gdplogd aborts.

74b569bd 06/13/2016 02:11 PM Eric Allman

Allow state dump on SIGQUIT or SIGABRT as well as assertion failures.

d56f5f93 06/13/2016 01:25 PM Eric Allman

Add GCL cache consistency checking.

fb56162b 06/13/2016 10:03 AM Eric Allman

Do detailed GCL cache dump on assertion failure (for debugging).

4f7fff12 06/10/2016 07:07 PM Eric Allman

Arrange to dump gdplogd process state after assertion failure.

283110f2 05/15/2016 11:06 AM Eric Allman

Additional debugging for request locking. Change _gdp_req_free API so
it can NULL-out the pointer to the request.

8aea43aa 04/28/2016 01:19 PM Eric Allman

Take number of available file descriptors into account when reclaiming
the GCL cache.

bc666c5c 02/23/2016 05:35 PM Eric Allman

Break out physical implementation to an explicit class so new
implementations (e.g., in memory) can be added easily.

672dd559 01/10/2016 05:36 PM Eric Allman

Checkpoint: extent code closer, compiles, doesn't run.

6bd5476b 12/01/2015 01:22 PM Eric Allman

Update license. No code changes.

055d3009 11/21/2015 01:20 PM Eric Allman

Include copyright in all files. There are scripts to do bulk
replacement of the copyright if desired.

ae0715df 10/28/2015 10:12 AM Eric Allman

Don't inform subscribers if daemon shuts down --- the subscriber will
recover when it re-issues the subscription.

d101f91e 10/28/2015 07:30 AM Eric Allman

Don't log gdplogd shutdowns as LOG_ALERT messages (use LOG_INFO).

b8591e8b 08/06/2015 01:59 PM Eric Allman

Fix some initialization bugs that caused mutex failures.

84b021ab 07/29/2015 09:07 AM Eric Allman

Improve command line usage messages for gcl-create and gdplogd.

9de8d199 07/29/2015 08:33 AM Eric Allman

Add gdplogd -s flag (or swarm.gdplogd.crypto.strictness parameter) to
set how strictly signatures are enforced.

f7307b63 07/27/2015 04:30 PM Eric Allman

Signature checking working. No action taken on bad signature yet.
Still considerable cleanup left to be done.

15f857e5 07/09/2015 04:47 PM Eric Allman

Add -N flag to gdplogd to allow setting of the routing name. Primarily
for testing; especially useful when starting up several containers from
a single image.

4102ad3a 03/05/2015 05:59 PM Eric Allman

Cleanup for code walkthrough:
* comments
* some function rearrangement
* make data structure detail printing more consistent

02028950 02/24/2015 09:53 AM Eric Allman

Minor debugging/error output tweaks for clarity.

04ceac3d 02/12/2015 11:46 AM Eric Allman

Try to at least reduce the number of compile warnings on gcc. It
compiles clean on the NUC (Debian 7, gcc 4.7.2) but still gives some
errors on Ubuntu 14.04.1 (gcc 4.8.2).

6dd52584 02/08/2015 11:09 AM Eric Allman

Always print our GDP routing name on startup.

1440421a 02/04/2015 05:43 PM Eric Allman

Snapshot: working on timing out subscriptions.

b8ecd3aa 02/01/2015 07:25 AM Eric Allman

Extend PING so it can check an individual subscription. Note: doesn't
work properly if one client has multiple subscriptions on the same GCL,
since it actually checks to see if there exists /any/ subscription from
that client.
Other random cleanups (naming and formatting).

cf71c5ea 01/29/2015 11:39 AM Eric Allman

Implement gdplogd shutdown actions: withdraw advertisements, explicitly
terminate all subscriptions.

2e8e338d 01/28/2015 01:33 PM Eric Allman

Use ep_app_fatal instead of ep_app_abort in some cases.

21ab3878 01/27/2015 12:12 PM Eric Allman

Unify command and ack/nak processing; unify Associative and LRU GCL
caches; multiple other cleanups.

08709feb 01/22/2015 12:53 PM Eric Allman

Restarting when the routing layer goes away now works. Cleanup needed.

857ddc7c 01/22/2015 10:23 AM Eric Allman

Snapshot in getting reconnection going --- still not there.

7a52336b 01/21/2015 09:01 AM Eric Allman

Snapshot in getting fallbacks for connections to the routing plane.
Still doesn't work, but at least works for the case where the first
address in the list is available. It's also clear that _gdp_req_new
needs substantial work; as it is, gdplogd can handle commands and...

5fc86063 01/13/2015 05:17 PM Eric Allman

First steps toward allowing dynamic reconnection to the GDP if
connections are lost.

c6293003 01/10/2015 03:28 PM Eric Allman

Allow for multiple log daemons; in particular, GCL creation is
now a separate program which requires the name of a log server.

54e73f13 01/05/2015 01:27 PM Eric Allman

First cut on the dual-layer model. The old GDP daemon is now the GDP
log daemon; instead of listening to connections it initiates them. This
commit does not include the routing layer.

efa46684 12/29/2014 11:55 AM Eric Allman

First cut at new architecture for GDP (separate routing from log layer).
This compiles but does not run.

5f8abf81 12/27/2014 12:14 PM Eric Allman

Move comment about size of thread pool to the correct place.

2fe6b834 12/26/2014 01:47 PM Eric Allman

Rename gdplogd directory so it matches the name of the binary.