History | View | Annotate | Download (5.9 KB)
Update license date on all files. No functional changes.
Fix GOB reference counts on DELETE commands.
Issue a more meaningful error message if gdplogd ever gets a message directed to a log we don't host (that is, if the routing layer has handed us a name we don't know about).
The grand renaming: GCL is (mostly) gone in favor of GOB and GIN.
Snapshot in on-disk format conversion from ad hoc files to SQLite databases. Compiles but is completely untested.
Snapshot of work on getting subscriptions working under Net4. Still has several problems.
Change disk "delete" method to "remove" to avoid conflict with C++ keyword.
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.
First cut at "delete log" command (lightly tested).
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...
Move req/gcl lock ordering fix into get_open_handle to reduce redundancy and assure consistency.
Fix cascading assertion failures if unable to open a physical log.
Snapshot on reliability work.
Basic things seems to work, including passing helgrind race condition tests. Still more testing needed.
SNAPSHOT: fewer race conditions; still need more testing.
Attempt to allow GCLs to be cached in applications. This is specifically for gdp-rest, but there may be other cases where it is useful.
Fix a locking error that only occurs if a physical disk open failed.
Fix minor compilation glitch.
Reclaim dead subscriptions even if there are no writes to the subscribed log. This is a very common case.
More work on locking issues.
Comment update.
Make it possible to reclaim resources in a worker thread rather than in the main event loop.
Update licenses to 2017.
Debug level tweaks to make gdplogd log output more coherent. -D10 logs less than before (use -D11 to get more-or-less what existed previously). Some level 10s have been dropped to 9s (if they indicate error conditions).
Split req->pdu into two: cpdu holds the PDU for the command and rpdu holds the PDU for the response. This makes it easier to make restart work and the code to understand. However, it also means more copying of data and a general lack of elegance. It also means that the datum in...
More cleanup of reference counting for GCLs that have error conditions.
Fix bug causing crash in gcl_create with new extent code.
Break out physical implementation to an explicit class so new implementations (e.g., in memory) can be added easily.
Implement ability to create new extents. Currently there is no attempt made to include authorization.
Another pass over on-disk extents; this one seems to be converging.
Checkpoint: extent code closer, compiles, doesn't run.
First cut at a preliminary implementation of extents. Compiles but completely untested. Only handles one extent.
Update license. No code changes.
Include copyright in all files. There are scripts to do bulk replacement of the copyright if desired.
Implement subscription renewals. This causes clients who have open subscriptions to re-issue the subscription every swarm.gdp.subscr.pokeintvl seconds. It's not complete yet: gdplogd still needs to expire subscriptions after a timeout.
Leave GCLs in cache after continuing to use them after reconnections.
Minor tweak in debugging levels.
Fix bug in subscriptions introduced when I checked for I/O mode.
Add more documentation; a few code changes to make parameter naming more consistent (as became obvious writing the documentation).
Check GCL mode when doing I/O (to avoid writing to a read-only log or reading an append-only log).
Unify command and ack/nak processing; unify Associative and LRU GCL caches; multiple other cleanups.
Rename gdplogd directory so it matches the name of the binary.