You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
i am running into the issue that mairix fails on indexing because the index gets larger than 2GB. When that happens (On initial creation) the index is left a "0" bytes.
It throws an error on the "lseek" which is 32 bit only:
writer.c
106 if (sb.st_size < len) {
107 /* Extend */
108 if (lseek(fd, len - 1, SEEK_SET) < 0) {
109 report_error("lseek", filename);
110 unlock_and_exit(2);
111 }
Flo
The text was updated successfully, but these errors were encountered:
Unfortunately a whole bunch of offset values stored inside the index database which refer to data at other offsets inside the index file are fundamentally 32 bits. This is not just a matter of the lseek syscall, it requires an overhaul of the index format.
If we were to overhaul the whole database format, I think I'd want to take the opportunity to do it using something less error-prone, less custom, more modern and high level than pointer arithmetic, like sqlite, maybe with some protobuf. It would hardly be the same piece of software.
You must have a lot of email though! My personal mairix database which indexes all of my sent and received email for decades is only 81MiB. This excludes all mailing lists and (most) spam, to be sure; maybe that's the difference with yours.
Hi,
i am running into the issue that mairix fails on indexing because the index gets larger than 2GB. When that happens (On initial creation) the index is left a "0" bytes.
It throws an error on the "lseek" which is 32 bit only:
Flo
The text was updated successfully, but these errors were encountered: