{"push_id":971372948,"size":22,"distinct_size":1,"ref":"refs/heads/develop","head":"27763ba51a9f4dc8cc35e22e3a481219fa2d2d0b","before":"a5bc26749d2fae1b0417b91d56c4e6143b9b2b57","commits":[{"sha":"5c561344025122cd7c7e3857e65e5f98096200d7","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nFix a comment.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/5c561344025122cd7c7e3857e65e5f98096200d7"},{"sha":"41a08af67329467555385b22f9d7dbc3d9b27a5d","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nAdd a \"quiet\" configuration command, so it's possible to keep format quiet\nfrom the CONFIG file.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/41a08af67329467555385b22f9d7dbc3d9b27a5d"},{"sha":"af53c1f29e041e1b8ec7b889a1f328190203dcbe","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nThe page-modify field is in a union, don't clear it for row-store type\nsplits (not a bug at the moment, but it could easily become one in the\nfuture, shoudl the row-store page-modify structure change).","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/af53c1f29e041e1b8ec7b889a1f328190203dcbe"},{"sha":"152839497426d1e894cc69e7cae2123a711364e8","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nAdd a write barrier to the insert split code before splitting the parent.\nIt's vanishingly unlikely we could split into the parent without writing\nthe page's modified skip lists, but I don't see anything that prevents it.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/152839497426d1e894cc69e7cae2123a711364e8"},{"sha":"5c2297305ddf5aab3ded6def9c2cc9087f876f06","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nDon't continue searches from the \"current\" page if a cihld page we're\nwaiting on splits.\n\nThe problem is a thread holding a hazard pointer on a parent page X, and\nwaiting on a child page A. Then, A is insert-split, moving a chunk of\nA's name-space to a new page B, that follows A in the parent page's\npage-index. If the parent page X then does a split into its parent, B\ncould move to the parent of X, and the thread has to search from the\nroot of the tree, not just from page X, to find the name-space now in\npage B.\n\nI've never seen this bug fire (as far as I know), it's improbable, but\nI think it's possible.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/5c2297305ddf5aab3ded6def9c2cc9087f876f06"},{"sha":"ab34a66f7f84aac2749ce8ef05019d67819f892c","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nIf we don't restart in the current page, we have to release it, we're\nholding a hazard references. This means all of the jumps to the restart\nlabel release the current page, simplify the world by doing the work at\nthe lable.\n\nFix the cursor-random code as well, make it all look the same.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/ab34a66f7f84aac2749ce8ef05019d67819f892c"},{"sha":"8b8614acbc88e14c19da178391cfe141261f9486","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nFix a typo.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/8b8614acbc88e14c19da178391cfe141261f9486"},{"sha":"92d903909ae1a811a9175c24b21ef68f8acafcbc","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nDiagnostic check for insert split and checkpoint races. The test/format\nprogram stresses insert splits vs checkpoints, and we can spot a race\nwhen format is appending a new record, the library is allocating the\nrecord number, and we're on the wrong page, which we know because the\npage has already done an insert-split.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/92d903909ae1a811a9175c24b21ef68f8acafcbc"},{"sha":"d7c0eb2a2cae47b7dc10a4c6da58a1b951d21fc9","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nbtree->checkpointing is an enum, use an explicit test instead of\nchecking for a non-zero value.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/d7c0eb2a2cae47b7dc10a4c6da58a1b951d21fc9"},{"sha":"fc1c98312f83c963cc9144b8187c1afb056e7f83","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nClean up comments around WT_CHILD_IGNORE: we now use it for insert-split\npages being ignored within a checkpoint, as well as deleted child pages.\n\nChanges to __rec_child_modify(): I don't think eviction should ever see\na WT_REF in a WT_REF_LOCKED or WT_REF_MEM state, since we no longer pass\nsubtrees to reconciliation for eviction.\n\nAdditionally, when evicting in non-diagnostic mode, return EBUSY if we\nencounter a WT_REF in an illegal state. That will cause eviction to\ngracefully fail, and the previous code isn't doing anybody any favors\nby just continuing with the eviction as if nothing is wrong.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/fc1c98312f83c963cc9144b8187c1afb056e7f83"},{"sha":"4f54a7330e2cfeafd884a0a2f46e1b40568446b0","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nDon't push splits up the tree when checkpoint is doing its final pass.\nSplits up the tree move the tree's namespace around, which can corrupt\nthe checkpoint.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/4f54a7330e2cfeafd884a0a2f46e1b40568446b0"},{"sha":"05ac79db3376cc77f9b4d62adce8c32791d84844","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nRemove unused variable, __evict_walk_file() doesn't care if the page\ncan split or not.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/05ac79db3376cc77f9b4d62adce8c32791d84844"},{"sha":"b96f95cc8b351635f487e5413eb2796b858e11c5","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nThis will drop core if split ever fails; the change in bd8889a should\nhave removed the \"page = NULL\" assignment when reversing the sense of\nthe test of the parent-split return.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/b96f95cc8b351635f487e5413eb2796b858e11c5"},{"sha":"9bf9311365e9b213d5e67a965c8dd21185c9fbd3","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nColumn-store cannot skip past aborted or not-yet-visible entries in the\npage. If they are the only entries on the page, the page will be marked\nempty and reverse-split into its parent, discarding chunks of the name\nspace, corrupting the tree.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/9bf9311365e9b213d5e67a965c8dd21185c9fbd3"},{"sha":"8a276527cea8d040bc6950ef858adf81f26b1e5d","author":{"email":"5f91fcdecb8ed69cddc68df0359b886e196c0cf2@mongodb.com","name":"Michael Cahill"},"message":"Merge branch 'develop' into wt-2361","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/8a276527cea8d040bc6950ef858adf81f26b1e5d"},{"sha":"3511f7656b94d3cb69d3fc6b9c07c972886b30b4","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nReview comment: revert most of 4f54a73: eviction waits for scheduled\neviction work to drain, all we have to do before splitting up the tree\nis check if the last phase of a checkpoint is in process.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/3511f7656b94d3cb69d3fc6b9c07c972886b30b4"},{"sha":"86b3d2f681862117289c0e8944d5166c84ffa54a","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nTest against WT_CKPT_OFF, not WT_CKPT_RUNNING, the prepare phase is when\ncheckpoint is waiting for eviction to drain, testing against running would\nallow us to race.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/86b3d2f681862117289c0e8944d5166c84ffa54a"},{"sha":"3afbc3749499312f95c85a8e9e1b3ed44bf4bf93","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nInsert splits happen concurrently with checkpoints, and checkpoints can\nskip the page being split based on its first-dirty transaction value,\nbut not skip the newly created split page, which corrupts the\ncheckpoint. Don't let that happen, set the first-dirty transaction value\nbefore splitting.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/3afbc3749499312f95c85a8e9e1b3ed44bf4bf93"},{"sha":"0f2420492e7ce145114d70af66ae7268d027ae27","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nAcquire page lock before reading or updating any page transactional\ninformation. I've never seen a bug here, but insert splits are\nconcurrent with checkpoints and I'm worried this is a problem waiting\nto happen.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/0f2420492e7ce145114d70af66ae7268d027ae27"},{"sha":"6cc6b78a2071de8600caf28682f84230c8beb34a","author":{"email":"0ccc0848a69a0c9f60128cfc9721e973b7acd43f@wiredtiger.com","name":"Keith Bostic"},"message":"WT-2361: column-store starting record number error\n\nMove the comment/code for setting the first dirty transaction in the\npage we're splitting, and the page we're creating, next to each other\nin the function for clarity.","distinct":false,"url":"https://api.github.com/repos/wiredtiger/wiredtiger/commits/6cc6b78a2071de8600caf28682f84230c8beb34a"}]}