{"action":"created","issue":{"url":"https://api.github.com/repos/apache/reef/issues/1131","repository_url":"https://api.github.com/repos/apache/reef","labels_url":"https://api.github.com/repos/apache/reef/issues/1131/labels{/name}","comments_url":"https://api.github.com/repos/apache/reef/issues/1131/comments","events_url":"https://api.github.com/repos/apache/reef/issues/1131/events","html_url":"https://github.com/apache/reef/pull/1131","id":179332157,"number":1131,"title":"[REEF-1404] IMRU task state Maintenance and Preservation in Evaluator…","user":{"login":"jwang98052","id":5666504,"avatar_url":"https://avatars.githubusercontent.com/u/5666504?v=3","gravatar_id":"","url":"https://api.github.com/users/jwang98052","html_url":"https://github.com/jwang98052","followers_url":"https://api.github.com/users/jwang98052/followers","following_url":"https://api.github.com/users/jwang98052/following{/other_user}","gists_url":"https://api.github.com/users/jwang98052/gists{/gist_id}","starred_url":"https://api.github.com/users/jwang98052/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwang98052/subscriptions","organizations_url":"https://api.github.com/users/jwang98052/orgs","repos_url":"https://api.github.com/users/jwang98052/repos","events_url":"https://api.github.com/users/jwang98052/events{/privacy}","received_events_url":"https://api.github.com/users/jwang98052/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-09-26T20:43:04Z","updated_at":"2016-10-05T19:29:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/reef/pulls/1131","html_url":"https://github.com/apache/reef/pull/1131","diff_url":"https://github.com/apache/reef/pull/1131.diff","patch_url":"https://github.com/apache/reef/pull/1131.patch"},"body":"… for fault tolerant\r\n\r\nBased on the JIRA discussions, this PR is to do the task state management in the following approach:\r\n* Define ITaskState interface without any API and generic type. It is up to the task/task function to implement it.\r\n* Defines a TaskStateService and bind it to context layer so that the task state can be hold at context level\r\n* Make TaskState configurable from IMRU Job definition\r\n\r\nThe following changes are in the PR:\r\n\r\n* Define ITaskState interface in IMRU and default implementation\r\n* Define MapTaskState and UpdateTaskState in IMRU example\r\n* Modify IMRU JobDefinition and IMRUJobDefinitionBuilder to all the task state to be configured\r\n* Modify ConfigurationManager for managing updateTaskStateConfiguration and mapTaskStateConfiguration\r\n* Modify ServiceAndContextConfigurationProvider to set the service and state configurations\r\n* Add TaskStateService to bind it to context for holding ITaskState instance\r\n* Change Update and map function in IMRU example and test to save and restore the state\r\n\r\nJIRA: [REEF-1404](https://issues.apache.org/jira/browse/REEF-1404)\r\nThis closes #"},"comment":{"url":"https://api.github.com/repos/apache/reef/issues/comments/251774563","html_url":"https://github.com/apache/reef/pull/1131#issuecomment-251774563","issue_url":"https://api.github.com/repos/apache/reef/issues/1131","id":251774563,"user":{"login":"tcNickolas","id":10113024,"avatar_url":"https://avatars.githubusercontent.com/u/10113024?v=3","gravatar_id":"","url":"https://api.github.com/users/tcNickolas","html_url":"https://github.com/tcNickolas","followers_url":"https://api.github.com/users/tcNickolas/followers","following_url":"https://api.github.com/users/tcNickolas/following{/other_user}","gists_url":"https://api.github.com/users/tcNickolas/gists{/gist_id}","starred_url":"https://api.github.com/users/tcNickolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tcNickolas/subscriptions","organizations_url":"https://api.github.com/users/tcNickolas/orgs","repos_url":"https://api.github.com/users/tcNickolas/repos","events_url":"https://api.github.com/users/tcNickolas/events{/privacy}","received_events_url":"https://api.github.com/users/tcNickolas/received_events","type":"User","site_admin":false},"created_at":"2016-10-05T19:29:39Z","updated_at":"2016-10-05T19:29:39Z","body":"@markusweimer I agree with your comments about making methods public in principle. However, in this particular case it seems that doing the change you're suggesting and testing it thoroughly will take significant amount of time and increase the complexity of this PR. I propose that we\r\n\r\n1) file a separate JIRA to modify the example as you suggest and make these properties private again.\r\n2) annotate these properties as `Unstable` with JIRA number, so that we clearly communicate our intention regarding them.\r\n3) merge this PR soon to unblock further work on doing state preservation for the specific algorithm we need. This work would _not_ rely on these public properties.\r\n4) work on the example modification JIRA without blocking algorithm work. This change will also have smaller scope and fewer conflicts with other changes going in.\r\n\r\nWhat do you think?"}}
{"actor":{"display_login":"tcNickolas"}}