{"action":"created","issue":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/1999","labels_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/1999/labels{/name}","comments_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/1999/comments","events_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/1999/events","html_url":"https://github.com/wiredtiger/wiredtiger/pull/1999","id":81583783,"number":1999,"title":"Evict clean","user":{"login":"keithbostic","id":1393186,"avatar_url":"https://avatars.githubusercontent.com/u/1393186?v=3","gravatar_id":"","url":"https://api.github.com/users/keithbostic","html_url":"https://github.com/keithbostic","followers_url":"https://api.github.com/users/keithbostic/followers","following_url":"https://api.github.com/users/keithbostic/following{/other_user}","gists_url":"https://api.github.com/users/keithbostic/gists{/gist_id}","starred_url":"https://api.github.com/users/keithbostic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithbostic/subscriptions","organizations_url":"https://api.github.com/users/keithbostic/orgs","repos_url":"https://api.github.com/users/keithbostic/repos","events_url":"https://api.github.com/users/keithbostic/events{/privacy}","received_events_url":"https://api.github.com/users/keithbostic/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/labels/Performance","name":"Performance","color":"02e10c"}],"state":"open","locked":false,"assignee":{"login":"keithbostic","id":1393186,"avatar_url":"https://avatars.githubusercontent.com/u/1393186?v=3","gravatar_id":"","url":"https://api.github.com/users/keithbostic","html_url":"https://github.com/keithbostic","followers_url":"https://api.github.com/users/keithbostic/followers","following_url":"https://api.github.com/users/keithbostic/following{/other_user}","gists_url":"https://api.github.com/users/keithbostic/gists{/gist_id}","starred_url":"https://api.github.com/users/keithbostic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithbostic/subscriptions","organizations_url":"https://api.github.com/users/keithbostic/orgs","repos_url":"https://api.github.com/users/keithbostic/repos","events_url":"https://api.github.com/users/keithbostic/events{/privacy}","received_events_url":"https://api.github.com/users/keithbostic/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-05-27T19:13:28Z","updated_at":"2015-05-28T05:33:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/pulls/1999","html_url":"https://github.com/wiredtiger/wiredtiger/pull/1999","diff_url":"https://github.com/wiredtiger/wiredtiger/pull/1999.diff","patch_url":"https://github.com/wiredtiger/wiredtiger/pull/1999.patch"},"body":"@agorrod, @michaelcahill: if the cache is large enough but there are too many dirty pages, don't evict the pages, clean them and leave them in the cache; ref WT-1350.\r\n\r\nThe real changes are in cff63f7 and ac7ed39.\r\n\r\nI spent some time trying to do this work without going acquiring an exclusive lock on the page, but eventually gave up on that approach for this (far simpler) solution. There is an advantage to doing it this way, too, we can select which pages we want to keep (I'm still evicting pages that split).\r\n\r\nIt's only lightly tested, but you both know eviction better than I do, I wanted to give you a chance to point out if there's a reason this approach won't work."},"comment":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/comments/106179793","html_url":"https://github.com/wiredtiger/wiredtiger/pull/1999#issuecomment-106179793","issue_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/1999","id":106179793,"user":{"login":"agorrod","id":1930121,"avatar_url":"https://avatars.githubusercontent.com/u/1930121?v=3","gravatar_id":"","url":"https://api.github.com/users/agorrod","html_url":"https://github.com/agorrod","followers_url":"https://api.github.com/users/agorrod/followers","following_url":"https://api.github.com/users/agorrod/following{/other_user}","gists_url":"https://api.github.com/users/agorrod/gists{/gist_id}","starred_url":"https://api.github.com/users/agorrod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agorrod/subscriptions","organizations_url":"https://api.github.com/users/agorrod/orgs","repos_url":"https://api.github.com/users/agorrod/repos","events_url":"https://api.github.com/users/agorrod/events{/privacy}","received_events_url":"https://api.github.com/users/agorrod/received_events","type":"User","site_admin":false},"created_at":"2015-05-28T05:33:16Z","updated_at":"2015-05-28T05:33:16Z","body":"@keithbostic I've made a couple of comments, but generally I think this is a step in the right direction. We can talk about whether it makes sense to keep content in cache when splitting dirty pages as well, but I'd prefer to get this part of the change merged early than make it into something bigger.\r\n\r\nDid you run any tests on this branch? Did it help stabilize dirty cache usage?"}}