{"action":"created","issue":{"url":"https://api.github.com/repos/apache/storm/issues/939","labels_url":"https://api.github.com/repos/apache/storm/issues/939/labels{/name}","comments_url":"https://api.github.com/repos/apache/storm/issues/939/comments","events_url":"https://api.github.com/repos/apache/storm/issues/939/events","html_url":"https://github.com/apache/storm/pull/939","id":121460676,"number":939,"title":"[STORM-1175] State store for windowing operations","user":{"login":"arunmahadevan","id":6792890,"avatar_url":"https://avatars.githubusercontent.com/u/6792890?v=3","gravatar_id":"","url":"https://api.github.com/users/arunmahadevan","html_url":"https://github.com/arunmahadevan","followers_url":"https://api.github.com/users/arunmahadevan/followers","following_url":"https://api.github.com/users/arunmahadevan/following{/other_user}","gists_url":"https://api.github.com/users/arunmahadevan/gists{/gist_id}","starred_url":"https://api.github.com/users/arunmahadevan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arunmahadevan/subscriptions","organizations_url":"https://api.github.com/users/arunmahadevan/orgs","repos_url":"https://api.github.com/users/arunmahadevan/repos","events_url":"https://api.github.com/users/arunmahadevan/events{/privacy}","received_events_url":"https://api.github.com/users/arunmahadevan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-12-10T11:12:37Z","updated_at":"2016-01-12T19:36:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/storm/pulls/939","html_url":"https://github.com/apache/storm/pull/939","diff_url":"https://github.com/apache/storm/pull/939.diff","patch_url":"https://github.com/apache/storm/pull/939.patch"},"body":"Added IStatefulBolt abstraction that can be implemented by bolts which requires\r\nits state to be checkpointed periodically. State implementations based on\r\nkey-value mapping store are added. There is a default in-memory based implementation\r\nand optional redis based implementation that provides state persistence. An internal\r\nCheckpointSpout periodically emits checkpoint tuples which flows through the\r\ntopology DAG to take a consistent snapshot of the state across all components.\r\n\r\nThere is still pending work to capture the evaluated/expired state of the tuples\r\nin the Window and use it to prune duplicate window evaluations during restart. This can\r\nbe built on top of the stateful bolt abstractions and will be done as part of STORM-1176"},"comment":{"url":"https://api.github.com/repos/apache/storm/issues/comments/171028002","html_url":"https://github.com/apache/storm/pull/939#issuecomment-171028002","issue_url":"https://api.github.com/repos/apache/storm/issues/939","id":171028002,"user":{"login":"ptgoetz","id":260896,"avatar_url":"https://avatars.githubusercontent.com/u/260896?v=3","gravatar_id":"","url":"https://api.github.com/users/ptgoetz","html_url":"https://github.com/ptgoetz","followers_url":"https://api.github.com/users/ptgoetz/followers","following_url":"https://api.github.com/users/ptgoetz/following{/other_user}","gists_url":"https://api.github.com/users/ptgoetz/gists{/gist_id}","starred_url":"https://api.github.com/users/ptgoetz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptgoetz/subscriptions","organizations_url":"https://api.github.com/users/ptgoetz/orgs","repos_url":"https://api.github.com/users/ptgoetz/repos","events_url":"https://api.github.com/users/ptgoetz/events{/privacy}","received_events_url":"https://api.github.com/users/ptgoetz/received_events","type":"User","site_admin":false},"created_at":"2016-01-12T19:36:13Z","updated_at":"2016-01-12T19:36:13Z","body":"+1"}}