Opened 10 years ago

Closed 10 years ago

#191 closed defect (invalid)

multiple BarnOwls in AFS should DTRT with respect to logging

Reported by: jgross@mit.edu Owned by:
Priority: major Milestone:
Component: internals Keywords:
Cc:

Description

If I have multiple BarnOwls running in AFS, all with logging turned on, currently, they each log their own copy of messages.

Ideally, for each BarnOwl process that I gave permission to log, all messages received by that BarnOwl would be logged, and no files would contain duplicate messages. If I had two BarnOwls running on the same machine, logging to different directories, they shouldn't interfere with each other.

Change History (2)

comment:1 Changed 10 years ago by davidben@mit.edu

Your idealization is not correct for logging, at least not in it's current form. Logging is currently implemented as logging. You open a file and append to it. That's how logging should work. To deduplicate things will require some complex combination of locking, transaction-type stuff, reading things back, etc., which does not make it logging. It makes it a data store and if we're already doing that complexity, we basically have our persistent message store, and that should be a different ticket. (And even there, it would be really ridiculous to make the first implementation do the deduplicating. There are enough complexities involved in doing that right that multiple writers over AFS is a secondary if not tertiary concern.)

Doing the reasonable thing for multiple BarnOwls in AFS may be a valid ticket. That is, a lockfile prevent all but one writer for logging. I'm not even convinced that's desirable (certainly it shouldn't be a part of logging itself; maybe a default setting for people who want it).

comment:2 Changed 10 years ago by davidben@mit.edu

  • Resolution set to invalid
  • Status changed from new to closed

Closing this so that discussion stays with the zephyr thread from earlier today. Filing Trac tickets should not be the medium for resolving technical disagreements.

Note: See TracTickets for help on using tickets.