{"action":"created","issue":{"url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/52","labels_url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/52/comments","events_url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/52/events","html_url":"https://github.com/cocaine/cocaine-plugins/pull/52","id":59633476,"number":52,"title":"Unicorn plugin","user":{"login":"antmat","id":691770,"avatar_url":"https://avatars.githubusercontent.com/u/691770?v=3","gravatar_id":"","url":"https://api.github.com/users/antmat","html_url":"https://github.com/antmat","followers_url":"https://api.github.com/users/antmat/followers","following_url":"https://api.github.com/users/antmat/following{/other_user}","gists_url":"https://api.github.com/users/antmat/gists{/gist_id}","starred_url":"https://api.github.com/users/antmat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antmat/subscriptions","organizations_url":"https://api.github.com/users/antmat/orgs","repos_url":"https://api.github.com/users/antmat/repos","events_url":"https://api.github.com/users/antmat/events{/privacy}","received_events_url":"https://api.github.com/users/antmat/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-03-03T12:14:15Z","updated_at":"2015-03-04T10:25:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cocaine/cocaine-plugins/pulls/52","html_url":"https://github.com/cocaine/cocaine-plugins/pull/52","diff_url":"https://github.com/cocaine/cocaine-plugins/pull/52.diff","patch_url":"https://github.com/cocaine/cocaine-plugins/pull/52.patch"},"body":"Plugin for unified configuration service. It's using zookeeper as main engine and provides such capabilities:\r\n  * Create node with value (create)\r\n  * CAS node value\r\n  * Increment node value\r\n  * Delete node (only terminal).\r\n  * Subscribe for value changes\r\n  * Subscribe for a list of values of parent node.\r\n  * Distributed lock abstraction ( lock(path) -> unlock() ) which offers automated lock release on client disconnection.\r\nMore information can be found in idl file.\r\n\r\nThere are some differeneces in behaviour of this plugin and zookeeper:\r\n  * zookeper allows storing value in non-terminating nodes, this plugin does not\r\n  * Instead of zookeeper single use watch mechanism plugin provides stream of updates of node on subscription.\r\n  * All values are initially msgpacked and only after that stored in zookeeper.\r\n\r\nNote: this plugin is compatible with zookeeper 3.4.x, however it involves some non obvious and non ideal in terms of performance workaround for deleting watches that have a chance not to be ever triggered, resulting in a memory leak. Zookeeper 3.5 offers unregister_watch functionality, but currently it is marked as alpha."},"comment":{"url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/comments/77131047","html_url":"https://github.com/cocaine/cocaine-plugins/pull/52#issuecomment-77131047","issue_url":"https://api.github.com/repos/cocaine/cocaine-plugins/issues/52","id":77131047,"user":{"login":"3Hren","id":969900,"avatar_url":"https://avatars.githubusercontent.com/u/969900?v=3","gravatar_id":"","url":"https://api.github.com/users/3Hren","html_url":"https://github.com/3Hren","followers_url":"https://api.github.com/users/3Hren/followers","following_url":"https://api.github.com/users/3Hren/following{/other_user}","gists_url":"https://api.github.com/users/3Hren/gists{/gist_id}","starred_url":"https://api.github.com/users/3Hren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/3Hren/subscriptions","organizations_url":"https://api.github.com/users/3Hren/orgs","repos_url":"https://api.github.com/users/3Hren/repos","events_url":"https://api.github.com/users/3Hren/events{/privacy}","received_events_url":"https://api.github.com/users/3Hren/received_events","type":"User","site_admin":false},"created_at":"2015-03-04T10:25:38Z","updated_at":"2015-03-04T10:25:38Z","body":"I'm going to review it. Approximately today/tomorrow."}}