On Mon, Mar 21, 2011 at 07:15:44AM -0400, Wietse Venema wrote: > > So my proposed update for the long queue id is: > > > > - 4 octets of base 32 encoded tv_usec > > - 6+ octets of base 51 encoded tv_sec epoch time > > - one non base 51 octet separator > > - inode number in base 52. > > Better: use reverse microseconds + reverse seconds (i.e. LSB > first, base 52 encoded). Then we can have 52 possible values per > character for queue hashing. With two levels of hashing we get > 10x fewer files per directory compared to old queue file names.
I am not sure that reversing the "us" value is better. With the "us" in big-endian format, the output directory is "locally constant" in time, so when a burst of mail arrives it is not overly scattered in multiple directories, while overall, the deferred queue is still split evenly. Also, with a little-endian base 52 queue-id, and hash depth of "2", we have 2704 directories to search, while big-endian 32 x 32 takes us to 977 directories as compared to 245 directories for big-endian base 16. > We'll also need some postcat command option to decode such > information for forensic/trouble shooting purposes. That may be useful. -- Viktor.