[neomutt-devel] Header Cache invalidation
riesebie at lxtec.de
Fri Sep 8 11:17:59 CEST 2017
* Richard Russon <rich at flatcap.org> [2017-09-07 22:37 +0000]:
> Elimar wrote on the user mailing list:
> > Running 2017-09-07 I have to rebuild hcache
> > I had to rebuild hcache in ... almost every new version
> You're right and unfortunately there's not much we can do about it.
> We've been making a lot of structural changes to the code. These should
> make it easier to maintain and test.
> The header cache works like this (we think :-)
> The email's header is parsed and lots of objects are created, which store
> the details:
> * struct Address
> * struct Parameter
> * struct Body
> * struct Envelope
> * struct Header
> It's these objects which are stored in the database (they are serialised).
> If any of the objects are changed, then the database values can't be used.
> Clearly, we need to make sure that the structs we used to save the values to
> the database are identical to those we read into. Mutt's build calculated
> the md5sum of the relevant header files. This is done by hcache/hcachever.sh
> If this checksum changes, then the existing header cache is invalid.
> We would like to replace this caching with something more reliable, but that
> would mean someone has to, first, understand it fully.
Many thanks for your efforts. It is not a big task to rebuild the
hcache. It takes about 10 minutes per each machine. But I think it
is a big task to rewrite the code. And hey, the neomutt dev's are
doing a great job ;-)
Alles, was viel bedacht wird, wird bedenklich!;-)
More information about the neomutt-devel