nothing "to do with the size of the file...
" because, as NetWallah
told you (by example) that there are cases in which the size of the file might come into play.
We'd need to know a lot more to be sure of that -- at least, about how you are creating the index and if there's any possibility that the length of the value of the record number exceeds the size of storage available for that value.
So try providing at least a minimal section of your code that causes the error (keyed, one can hope to whatever line number was identified in the complete version of the message you cited) and a clear picture of the data structure (10e7 short records, 100 long -- 1025-char, multi-line records -- or whatever.)
Come, let us reason together: Spirit of the Monastery
If you didn't program your executable by toggling in binary, it wasn't really programming!