Skip to content
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

Closed
finnschiermer opened this issue Jun 30, 2016 · 3 comments
Closed

Initial memory map of the database is contiguous #1935

finnschiermer opened this issue Jun 30, 2016 · 3 comments
Assignees

Comments

@finnschiermer
Copy link
Contributor

finnschiermer commented Jun 30, 2016

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?

@finnschiermer
Copy link
Contributor Author

finnschiermer commented Jul 1, 2016

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.

@AndyDentFree
Copy link
Contributor

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?

@finnschiermer
Copy link
Contributor Author

finnschiermer commented Jul 1, 2016

Will _ handle Arrays that cross a section boundary_ approach also lend itself to huge blob sectioning?

I haven't fully analysed it, but yes I think that should be the ambition.

Is it likely to provide a fix for our Windows issues?

No, it is unrelated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants