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
As part of FLX sync we need to guarantee that once we begin applying changesets from a fully received bootstrap, we apply all changesets in that bootstrap and that no user writes happen during the bootstrap application. Right now we do this by storing all the received bootstraps in a separate side-table and then applying them in a series of write transactions where we do not release the write lock between commits.
This has the downside of having to store all the data twice, once in the bootstrap store and then again when we apply the changesets. If the database can give us an interface to break up these big writes into chunks (so that we don't use unbounded amounts of memory) and also roll back the database to the beginning of the bootstrap if an error occurs, we can get rid of the pending bootstrap store and have a simpler, faster, more correct way of processing bootstraps. We'll also get significantly better visibility into how far into the bootstrap we are because the download progress will also be the application progress.
The text was updated successfully, but these errors were encountered:
As part of FLX sync we need to guarantee that once we begin applying changesets from a fully received bootstrap, we apply all changesets in that bootstrap and that no user writes happen during the bootstrap application. Right now we do this by storing all the received bootstraps in a separate side-table and then applying them in a series of write transactions where we do not release the write lock between commits.
This has the downside of having to store all the data twice, once in the bootstrap store and then again when we apply the changesets. If the database can give us an interface to break up these big writes into chunks (so that we don't use unbounded amounts of memory) and also roll back the database to the beginning of the bootstrap if an error occurs, we can get rid of the pending bootstrap store and have a simpler, faster, more correct way of processing bootstraps. We'll also get significantly better visibility into how far into the bootstrap we are because the download progress will also be the application progress.
The text was updated successfully, but these errors were encountered: