-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial memory map of the database is contiguous #1935
Comments
I think we should choose the "something different" option: Instead of breaking backward compatibility or upgrade the file, we can extend the memory mapping scheme to handle Arrays that cross a section boundary. This allows us to eliminate the special handling of the initial mapping of the file. It is not known at the time a mapping is established if it holds an array crossing its boundaries. This can only be detected when such an Array is accessed. We'll likely need to build a dedicated mapping for each such array. |
Will _ handle Arrays that cross a section boundary_ approach also lend itself to huge blob sectioning? Is it likely to provide a fix for our Windows issues? |
I haven't fully analysed it, but yes I think that should be the ambition.
No, it is unrelated. |
To retain backward compatibility with databases created before the chunked memory mapping was introduced (0.93) we always map any existing database as one contiguous address range - initially. Now that all other uses of large contiguous mappings have been eliminated, this will become a visible limit. When can we break backward compatibility? Or should we build a file format upgrade where we handle the problem? Or something different?
The text was updated successfully, but these errors were encountered: