{"action":"created","issue":{"url":"https://api.github.com/repos/caskdata/cdap/issues/6009","repository_url":"https://api.github.com/repos/caskdata/cdap","labels_url":"https://api.github.com/repos/caskdata/cdap/issues/6009/labels{/name}","comments_url":"https://api.github.com/repos/caskdata/cdap/issues/6009/comments","events_url":"https://api.github.com/repos/caskdata/cdap/issues/6009/events","html_url":"https://github.com/caskdata/cdap/pull/6009","id":164702410,"number":6009,"title":"CDAP-6154 Custom Namespace Mapping for Filesystem","user":{"login":"rohitsinha54","id":1472867,"avatar_url":"https://avatars.githubusercontent.com/u/1472867?v=3","gravatar_id":"","url":"https://api.github.com/users/rohitsinha54","html_url":"https://github.com/rohitsinha54","followers_url":"https://api.github.com/users/rohitsinha54/followers","following_url":"https://api.github.com/users/rohitsinha54/following{/other_user}","gists_url":"https://api.github.com/users/rohitsinha54/gists{/gist_id}","starred_url":"https://api.github.com/users/rohitsinha54/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rohitsinha54/subscriptions","organizations_url":"https://api.github.com/users/rohitsinha54/orgs","repos_url":"https://api.github.com/users/rohitsinha54/repos","events_url":"https://api.github.com/users/rohitsinha54/events{/privacy}","received_events_url":"https://api.github.com/users/rohitsinha54/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/caskdata/cdap/labels/3.5","name":"3.5","color":"ff6600"}],"state":"open","locked":false,"assignee":{"login":"chtyim","id":885032,"avatar_url":"https://avatars.githubusercontent.com/u/885032?v=3","gravatar_id":"","url":"https://api.github.com/users/chtyim","html_url":"https://github.com/chtyim","followers_url":"https://api.github.com/users/chtyim/followers","following_url":"https://api.github.com/users/chtyim/following{/other_user}","gists_url":"https://api.github.com/users/chtyim/gists{/gist_id}","starred_url":"https://api.github.com/users/chtyim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chtyim/subscriptions","organizations_url":"https://api.github.com/users/chtyim/orgs","repos_url":"https://api.github.com/users/chtyim/repos","events_url":"https://api.github.com/users/chtyim/events{/privacy}","received_events_url":"https://api.github.com/users/chtyim/received_events","type":"User","site_admin":false},"assignees":[{"login":"chtyim","id":885032,"avatar_url":"https://avatars.githubusercontent.com/u/885032?v=3","gravatar_id":"","url":"https://api.github.com/users/chtyim","html_url":"https://github.com/chtyim","followers_url":"https://api.github.com/users/chtyim/followers","following_url":"https://api.github.com/users/chtyim/following{/other_user}","gists_url":"https://api.github.com/users/chtyim/gists{/gist_id}","starred_url":"https://api.github.com/users/chtyim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chtyim/subscriptions","organizations_url":"https://api.github.com/users/chtyim/orgs","repos_url":"https://api.github.com/users/chtyim/repos","events_url":"https://api.github.com/users/chtyim/events{/privacy}","received_events_url":"https://api.github.com/users/chtyim/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/caskdata/cdap/milestones/25","html_url":"https://github.com/caskdata/cdap/milestones/3.5","labels_url":"https://api.github.com/repos/caskdata/cdap/milestones/25/labels","id":1745860,"number":25,"title":"3.5","description":null,"creator":{"login":"rohitsinha54","id":1472867,"avatar_url":"https://avatars.githubusercontent.com/u/1472867?v=3","gravatar_id":"","url":"https://api.github.com/users/rohitsinha54","html_url":"https://github.com/rohitsinha54","followers_url":"https://api.github.com/users/rohitsinha54/followers","following_url":"https://api.github.com/users/rohitsinha54/following{/other_user}","gists_url":"https://api.github.com/users/rohitsinha54/gists{/gist_id}","starred_url":"https://api.github.com/users/rohitsinha54/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rohitsinha54/subscriptions","organizations_url":"https://api.github.com/users/rohitsinha54/orgs","repos_url":"https://api.github.com/users/rohitsinha54/repos","events_url":"https://api.github.com/users/rohitsinha54/events{/privacy}","received_events_url":"https://api.github.com/users/rohitsinha54/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":50,"state":"open","created_at":"2016-05-03T18:02:56Z","updated_at":"2016-07-17T00:06:13Z","due_on":null,"closed_at":null},"comments":11,"created_at":"2016-07-10T06:36:53Z","updated_at":"2016-07-17T16:20:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/caskdata/cdap/pulls/6009","html_url":"https://github.com/caskdata/cdap/pull/6009","diff_url":"https://github.com/caskdata/cdap/pull/6009.diff","patch_url":"https://github.com/caskdata/cdap/pull/6009.patch"},"body":"Issue: https://issues.cask.co/browse/CDAP-6154\r\nBuild: http://builds.cask.co/browse/CDAP-DUT4347-1\r\nITN: http://builds.cask.co/browse/CDAP-ITM-5\r\n\r\nSummary\r\n-------------\r\n- Allow user to specify custom location to use for cdap namespace.\r\n- Custom locations are expected to be absolute path. A check is performed to ensure this before creating namespace.\r\n- If a custom location is provided we check for it to exists while creating namespace\r\n- If a custom location was provided we don't delete it while deleting namespace.\r\n- This works on standalone too. (Tested on unix system. It has not been tested on windows system)\r\n- Currently there is no CachingNamespaceQueryAdmin for performance improvement. It will be added in a separate PR. \r\n- The NamespacedLocationFactory now has a NamespaceQueryAdmin which it uses to look up namespace meta to give the correct location which is namespaced.\r\n- NamespacedLocationFactory now takes in RootLocationFactory rather than LocationFactory (whose basepath is cdap dir) since the custom mapping can be any absolute path and to work with these we need to work with root of the filesystem.\r\n- Added NamespacedLocationFactoryTestClient which is same as earlier NamespacedLocationFactory this is helpful in unit tests as it does not perform a namespace meta lookup and hence the unit tests does not need to  create namespace to get namespaced locations. \r\n- Added a LocationUnitTestModule which gives the same Module as LocationRuntimeModule.getInMemory ones but binds the NamespacedLocationFactory to the above mentioned NamespacedLocationFactoryTestClient to be used in tests. \r\n- DatasetService, DatasetInstanceService and DatasetTypeHandler now uses NamespaceQueryAdmin rather than NamespaceStore which it was doing earlier to avoid circular dependency in Guice injection. \r\n\r\nTODO:\r\n- [ ] Run integration tests on this branch\r\n- [ ] Test more rigorously on a cluster for edge cases\r\n- [ ] After Hbase Mapping is done fix the todo to clean the if statements. "},"comment":{"url":"https://api.github.com/repos/caskdata/cdap/issues/comments/233189989","html_url":"https://github.com/caskdata/cdap/pull/6009#issuecomment-233189989","issue_url":"https://api.github.com/repos/caskdata/cdap/issues/6009","id":233189989,"user":{"login":"rohitsinha54","id":1472867,"avatar_url":"https://avatars.githubusercontent.com/u/1472867?v=3","gravatar_id":"","url":"https://api.github.com/users/rohitsinha54","html_url":"https://github.com/rohitsinha54","followers_url":"https://api.github.com/users/rohitsinha54/followers","following_url":"https://api.github.com/users/rohitsinha54/following{/other_user}","gists_url":"https://api.github.com/users/rohitsinha54/gists{/gist_id}","starred_url":"https://api.github.com/users/rohitsinha54/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rohitsinha54/subscriptions","organizations_url":"https://api.github.com/users/rohitsinha54/orgs","repos_url":"https://api.github.com/users/rohitsinha54/repos","events_url":"https://api.github.com/users/rohitsinha54/events{/privacy}","received_events_url":"https://api.github.com/users/rohitsinha54/received_events","type":"User","site_admin":false},"created_at":"2016-07-17T16:20:53Z","updated_at":"2016-07-17T16:20:53Z","body":"@anwar6953 : CDAP Starts up it has been tested numerous times and there is binding for NamespaceQueryAdmin for ExploreServiceTwillRunnable. Its coming from NamespaceClientRuntimeModule. "}}
{"actor":{"display_login":"rohitsinha54"}}