{"action":"created","issue":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/2174","labels_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/2174/labels{/name}","comments_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/2174/comments","events_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/2174/events","html_url":"https://github.com/wiredtiger/wiredtiger/pull/2174","id":105023585,"number":2174,"title":"WT-147. Dynamic index creation, using LSM bulk=unordered","user":{"login":"ddanderson","id":591610,"avatar_url":"https://avatars.githubusercontent.com/u/591610?v=3","gravatar_id":"","url":"https://api.github.com/users/ddanderson","html_url":"https://github.com/ddanderson","followers_url":"https://api.github.com/users/ddanderson/followers","following_url":"https://api.github.com/users/ddanderson/following{/other_user}","gists_url":"https://api.github.com/users/ddanderson/gists{/gist_id}","starred_url":"https://api.github.com/users/ddanderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddanderson/subscriptions","organizations_url":"https://api.github.com/users/ddanderson/orgs","repos_url":"https://api.github.com/users/ddanderson/repos","events_url":"https://api.github.com/users/ddanderson/events{/privacy}","received_events_url":"https://api.github.com/users/ddanderson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-05T12:10:00Z","updated_at":"2015-09-12T20:56:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/pulls/2174","html_url":"https://github.com/wiredtiger/wiredtiger/pull/2174","diff_url":"https://github.com/wiredtiger/wiredtiger/pull/2174.diff","patch_url":"https://github.com/wiredtiger/wiredtiger/pull/2174.patch"},"body":"This branch uses LSM bulk=unordered. Because I'm opening an LSM file indirectly fix via an index cursor, we need to do a little footwork to keep the bulk flag on the index file, and not the column group files."},"comment":{"url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/comments/139819572","html_url":"https://github.com/wiredtiger/wiredtiger/pull/2174#issuecomment-139819572","issue_url":"https://api.github.com/repos/wiredtiger/wiredtiger/issues/2174","id":139819572,"user":{"login":"ddanderson","id":591610,"avatar_url":"https://avatars.githubusercontent.com/u/591610?v=3","gravatar_id":"","url":"https://api.github.com/users/ddanderson","html_url":"https://github.com/ddanderson","followers_url":"https://api.github.com/users/ddanderson/followers","following_url":"https://api.github.com/users/ddanderson/following{/other_user}","gists_url":"https://api.github.com/users/ddanderson/gists{/gist_id}","starred_url":"https://api.github.com/users/ddanderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddanderson/subscriptions","organizations_url":"https://api.github.com/users/ddanderson/orgs","repos_url":"https://api.github.com/users/ddanderson/repos","events_url":"https://api.github.com/users/ddanderson/events{/privacy}","received_events_url":"https://api.github.com/users/ddanderson/received_events","type":"User","site_admin":false},"created_at":"2015-09-12T20:56:01Z","updated_at":"2015-09-12T20:56:01Z","body":"@agorrod, no need for apologies - your help thus far has been very helpful!\r\n\r\nThis change does not set `WT_BTREE_BULK`, but it introduces a new flag `WT_BTREE_BULK_UNORDERED` which is set.  I needed a way to test for this specific case, without setting `WT_BTREE_BULK` (we agree that setting that is wrong).\r\n\r\nI think I may be able to eliminate some of the uses for `WT_BTREE_BULK_UNORDERED` (I can see that the reference to it in `txn_ckpt.c` is a no-op - I'll see if other uses can be eliminated - or at least clarify why not.\r\n\r\nAlso you probably noticed that I'm opening an index cursor with `bulk=index` -- I do that because I want the *index* file to be opened with `bulk=ordered`, but if I have a blanket `bulk=ordered` then I also get the *column groups* opened with `bulk=ordered` - that causes its own locking headaches.  So I created `bulk=index` to signal that just the index file should be opened specially. To back up a bit, why don't I open the underlying `lsm:` directly? Because a cursor on the higher level `index:` allows code to be shared more readily.  I have a thought about cleaning this up - opening a cursor using a projection that includes just the index columns shouldn't ever use the column groups.\r\n\r\nLet me try those changes and get back to you - hopefully will be simplified.  Thanks!\r\n\r\nIf this doesn't make sense, I'll be around next week, we can schedule a call."}}