{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/16606","repository_url":"https://api.github.com/repos/ceph/ceph","labels_url":"https://api.github.com/repos/ceph/ceph/issues/16606/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/16606/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/16606/events","html_url":"https://github.com/ceph/ceph/pull/16606","id":245734934,"number":16606,"title":"DNM: kv: column family support ","user":{"login":"liupan1111","id":17977187,"avatar_url":"https://avatars3.githubusercontent.com/u/17977187?v=4","gravatar_id":"","url":"https://api.github.com/users/liupan1111","html_url":"https://github.com/liupan1111","followers_url":"https://api.github.com/users/liupan1111/followers","following_url":"https://api.github.com/users/liupan1111/following{/other_user}","gists_url":"https://api.github.com/users/liupan1111/gists{/gist_id}","starred_url":"https://api.github.com/users/liupan1111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liupan1111/subscriptions","organizations_url":"https://api.github.com/users/liupan1111/orgs","repos_url":"https://api.github.com/users/liupan1111/repos","events_url":"https://api.github.com/users/liupan1111/events{/privacy}","received_events_url":"https://api.github.com/users/liupan1111/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-07-26T14:09:33Z","updated_at":"2017-07-26T14:17:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/16606","html_url":"https://github.com/ceph/ceph/pull/16606","diff_url":"https://github.com/ceph/ceph/pull/16606.diff","patch_url":"https://github.com/ceph/ceph/pull/16606.patch"},"body":"Column family is a very useful feature which RocksDB provides, basically user can create a dedicated column family for one kind of prefixed keys, and RocksDB will create dedicated LSM tree for it, still a transaction includes multiple kv updates into different CFs can be atomic.\r\n\r\nThis PR adds CF support into KeyValueDB interface and RocksDBStore implementation. The basic model is, the default column family can still have multiple prefixes, while each explicitly created column family can only have on prefix which is the name of the CF. All old APIs are kept backward compatible, user will have to call new API to create column families for some prefixes, then use old get/set APIs to access prefixed keys. RocksDBStore internally will remember all opened column families, if prefix matches name of created column family, it will go to that column family.\r\n\r\nWe also integrate column families in bluestore. \r\n\r\nSigned-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>\r\nSigned-off-by: Xiaoyan Li <xiaoyan.li@intel.com>\r\nSigned-off-by: Jianjian Huo <jj.huo@alibaba-inc.com>"},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/318066886","html_url":"https://github.com/ceph/ceph/pull/16606#issuecomment-318066886","issue_url":"https://api.github.com/repos/ceph/ceph/issues/16606","id":318066886,"user":{"login":"liupan1111","id":17977187,"avatar_url":"https://avatars3.githubusercontent.com/u/17977187?v=4","gravatar_id":"","url":"https://api.github.com/users/liupan1111","html_url":"https://github.com/liupan1111","followers_url":"https://api.github.com/users/liupan1111/followers","following_url":"https://api.github.com/users/liupan1111/following{/other_user}","gists_url":"https://api.github.com/users/liupan1111/gists{/gist_id}","starred_url":"https://api.github.com/users/liupan1111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liupan1111/subscriptions","organizations_url":"https://api.github.com/users/liupan1111/orgs","repos_url":"https://api.github.com/users/liupan1111/repos","events_url":"https://api.github.com/users/liupan1111/events{/privacy}","received_events_url":"https://api.github.com/users/liupan1111/received_events","type":"User","site_admin":false},"created_at":"2017-07-26T14:17:52Z","updated_at":"2017-07-26T14:17:52Z","body":"This PR is a rework based on https://github.com/ceph/ceph/pull/9306 and https://github.com/ceph/ceph/pull/12164. We will do further test and give the result later."}}
{"actor":{"display_login":"liupan1111"}}