Skip to content

Conversation

@etschannen
Copy link
Contributor

Transaction log spilling is only used when the transaction logs cannot keep all of the unpopped mutations it has in memory. If we are only using this data structure because we do not have enough memory, it is much less safe to use the memory storage engine for this purpose.

…ing. Transaction log spilling is only used when the transaction logs cannot keep all of the unpopped mutations it has in memory. If we are only using this data structure because we do not have enough memory, it is much less safe to use the memory storage engine for this purpose.
Copy link
Contributor

@ajbeamon ajbeamon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we tried this out at all to see what will happen if it's is used on a spinning disk? I'm a little concerned that the act of spilling in that scenario isn't going to behave very well. Certainly it's better than becoming unrecoverable, but the advantage the old scheme has is that it would be capable of absorbing periods of spilling that are limited in duration. Since this change may not be a pure win, I think we should understand what downside it's going to have. It may also ultimately mean that we make it easy to configure both behaviors and tone down our warning message about using the new one.

@ajbeamon ajbeamon merged commit 7f4adcc into apple:master Mar 19, 2019
etschannen pushed a commit to etschannen/foundationdb that referenced this pull request Mar 26, 2019
configure memory now selects the ssd engine for transaction log spilling
etschannen pushed a commit to etschannen/foundationdb that referenced this pull request Mar 26, 2019
configure memory now selects the ssd engine for transaction log spilling
alexmiller-apple pushed a commit to etschannen/foundationdb that referenced this pull request Mar 26, 2019
configure memory now selects the ssd engine for transaction log spilling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants