summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2017-03-16 16:26:49 +1100
committerMichael Cahill <michael.cahill@mongodb.com>2017-03-16 17:20:45 +1100
commitcc2f15f595b16479affd73791c207da334453bcc (patch)
tree8d24d5a1be36d80ed968f5ccc165fd11bb11fdfa /examples
parent92327e8fd19c92ca5687f6e093553fb96c742688 (diff)
WT-3206 Fix a race allocating split generations. (#3332)mongodb-3.5.5mongodb-3.4.3
We use split generations to detect when readers may be looking at structures that are replaced by a split. For correctness, we should only increment the global split generation *after* a split becomes public. Only then can we safely check that no thread is still reading with the old generation. Previously, a split could increment the global split generation, then a thread could start reading with the new split generation but see the old index structure. This issue was introduced by WT 3088, where we wanted a way to ensure that newly-allocated pages don't split until it is safe. That is solved here by having the split code pin a split generation in the ordinary way (without allocating a new one) for the duration that splits of new pages need to be prevented. (cherry picked from commit 51d22616094e0a0d34997d26aec925adf949fbdf)
Diffstat (limited to 'examples')
0 files changed, 0 insertions, 0 deletions