3 ms·
I do think we'd be better off with the hot path being a simple append to a read-only file. All this database-like junk should have been done asynchronously and
by newnewpdro 8y ago
I do think we'd be better off with the hot path being a simple append to a read-only file.
All this database-like junk should have been done asynchronously and persisted in ancillary read-write files kept adjacent to the logs.
Features like `systemctl status` that want to show the most recent log entries for a given service could have simply indicated 'potentially stale' when the logs were newer than the ancillary files, and support blocking on a refresh if desired.
I'm not a fan of how it is done today, and I've hacked a bit on journald. It doesn't belong in the critical path. There's a lot of that in the systemd project in general; tightly coupling complexity where it really should be loosely coupled at best. But I believe a lot of that is to be expected from a project aspiring to do too much with too little resources, shortcuts are taken regularly. Everyone experienced knows tightly coupling components eases the development of them.