[PATCH v2 4/4] wal: delete old wal files when running out of disk space
Vladimir Davydov
vdavydov.dev at gmail.com
Wed Oct 24 12:51:16 MSK 2018
On Tue, Oct 23, 2018 at 09:46:45PM +0300, Konstantin Osipov wrote:
> * Vladimir Davydov <vdavydov.dev at gmail.com> [18/10/23 20:30]:
> > +static void
> > +gc_process_wal_event(struct wal_watcher_msg *msg)
> > +{
> > + if ((msg->events & WAL_EVENT_GC) == 0)
> > + return;
>
> GC is now subscribed to all events only to react to those *gc*
> events which delete wal files in case of emergency.
>
> Shouldn't gc ignore wal gc events which were initiated by
> wal_collect_garbage() at least?
> Why send wal_event_gc for these events?
Well, we could pass a mask of events a subscriber is interested in.
Come to think of it, this would look better IMO.
>
> wal watcher api is an artefact from the times when we had no
> cbus connection between wal and tx.
No, this isn't true. WAL watcher was introduced as a generic
notification channel built over cbus in the first place. Before
it was made available, we used inotify to track WAL directory
changes in relays.
> Now you can send a direct message to gc. Why use wal watcher api at
> all?
Because we already have a generic abstraction, and I think we'd better
use it instead of adding another wal-tx pipe to the wal_thread and
implementing home-brewed notifications on top of it.
More information about the Tarantool-patches
mailing list