{"action":"closed","issue":{"url":"https://api.github.com/repos/linkedin/photon-ml/issues/73","repository_url":"https://api.github.com/repos/linkedin/photon-ml","labels_url":"https://api.github.com/repos/linkedin/photon-ml/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/linkedin/photon-ml/issues/73/comments","events_url":"https://api.github.com/repos/linkedin/photon-ml/issues/73/events","html_url":"https://github.com/linkedin/photon-ml/issues/73","id":154613961,"number":73,"title":"GAME's unique Id type should be configurable","user":{"login":"XianXing","id":2010084,"avatar_url":"https://avatars.githubusercontent.com/u/2010084?v=3","gravatar_id":"","url":"https://api.github.com/users/XianXing","html_url":"https://github.com/XianXing","followers_url":"https://api.github.com/users/XianXing/followers","following_url":"https://api.github.com/users/XianXing/following{/other_user}","gists_url":"https://api.github.com/users/XianXing/gists{/gist_id}","starred_url":"https://api.github.com/users/XianXing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XianXing/subscriptions","organizations_url":"https://api.github.com/users/XianXing/orgs","repos_url":"https://api.github.com/users/XianXing/repos","events_url":"https://api.github.com/users/XianXing/events{/privacy}","received_events_url":"https://api.github.com/users/XianXing/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/linkedin/photon-ml/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/linkedin/photon-ml/labels/wontfix","name":"wontfix","color":"ffffff"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-05-13T01:11:49Z","updated_at":"2016-05-13T03:48:30Z","closed_at":"2016-05-13T03:48:30Z","body":"Currently both GAME's model training and data scoring logic depend on a ```Long``` typed unique Id associated with each data point (each ```GameDatum```).\r\n\r\nMore specifically, in GAME's model training logic such unique id is generated automatically in a way similar to ```RDD```'s ```zipWithUniqueId``` function, however, unique ids generated in this way are not fault tolerant, meaning that the unique id associated with each data point may change after the it get re-computed with a different executor due to node failure.\r\n\r\nOn the other hand, in GAME's data scoring logic (see #71 for more details), such unique Ids are provided with each data point as part of the input, so potentially GAME can leverage the unique Ids generated by the user, however, in this way we may put too much burden on the user.\r\n\r\nWe don't have a very good way to address this problem, any suggestions are welcome!"}}