{"action":"created","issue":{"url":"https://api.github.com/repos/flux-framework/flux-core/issues/624","repository_url":"https://api.github.com/repos/flux-framework/flux-core","labels_url":"https://api.github.com/repos/flux-framework/flux-core/issues/624/labels{/name}","comments_url":"https://api.github.com/repos/flux-framework/flux-core/issues/624/comments","events_url":"https://api.github.com/repos/flux-framework/flux-core/issues/624/events","html_url":"https://github.com/flux-framework/flux-core/pull/624","id":145179119,"number":624,"title":"fix KVS watch leak","user":{"login":"garlick","id":169947,"avatar_url":"https://avatars.githubusercontent.com/u/169947?v=3","gravatar_id":"","url":"https://api.github.com/users/garlick","html_url":"https://github.com/garlick","followers_url":"https://api.github.com/users/garlick/followers","following_url":"https://api.github.com/users/garlick/following{/other_user}","gists_url":"https://api.github.com/users/garlick/gists{/gist_id}","starred_url":"https://api.github.com/users/garlick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garlick/subscriptions","organizations_url":"https://api.github.com/users/garlick/orgs","repos_url":"https://api.github.com/users/garlick/repos","events_url":"https://api.github.com/users/garlick/events{/privacy}","received_events_url":"https://api.github.com/users/garlick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2016-04-01T13:19:51Z","updated_at":"2016-04-01T19:09:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/flux-framework/flux-core/pulls/624","html_url":"https://github.com/flux-framework/flux-core/pull/624","diff_url":"https://github.com/flux-framework/flux-core/pull/624.diff","patch_url":"https://github.com/flux-framework/flux-core/pull/624.patch"},"body":"This PR fixes a `kvs_watch()` state leak.  The watch request would be removed from the \"watchlist\" and placed on another wait queue if it needed to wait for content to be faulted in.  If in the mean time a disconnect request was received, the watch request would not be found on the watchlist.  Then once the fault was handled, the watch request would be restarted and would place itself back on the watchlist.\r\n\r\nThe fix is to also walk the KVS internal cache looking for a match when a client disconnects, and also when a watch request is explicitly unwatched."},"comment":{"url":"https://api.github.com/repos/flux-framework/flux-core/issues/comments/204527219","html_url":"https://github.com/flux-framework/flux-core/pull/624#issuecomment-204527219","issue_url":"https://api.github.com/repos/flux-framework/flux-core/issues/624","id":204527219,"user":{"login":"garlick","id":169947,"avatar_url":"https://avatars.githubusercontent.com/u/169947?v=3","gravatar_id":"","url":"https://api.github.com/users/garlick","html_url":"https://github.com/garlick","followers_url":"https://api.github.com/users/garlick/followers","following_url":"https://api.github.com/users/garlick/following{/other_user}","gists_url":"https://api.github.com/users/garlick/gists{/gist_id}","starred_url":"https://api.github.com/users/garlick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garlick/subscriptions","organizations_url":"https://api.github.com/users/garlick/orgs","repos_url":"https://api.github.com/users/garlick/repos","events_url":"https://api.github.com/users/garlick/events{/privacy}","received_events_url":"https://api.github.com/users/garlick/received_events","type":"User","site_admin":false},"created_at":"2016-04-01T19:09:27Z","updated_at":"2016-04-01T19:09:27Z","body":"Passing now, maybe ready?"}}