{"action":"created","issue":{"url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/27","repository_url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities","labels_url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/27/comments","events_url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/27/events","html_url":"https://github.com/erasmus-without-paper/ewp-specs-api-omobilities/issues/27","id":232564702,"number":27,"title":"Alternative ways of exchanging arrival/departure dates","user":{"login":"wrygiel","id":2168535,"avatar_url":"https://avatars2.githubusercontent.com/u/2168535?v=4","gravatar_id":"","url":"https://api.github.com/users/wrygiel","html_url":"https://github.com/wrygiel","followers_url":"https://api.github.com/users/wrygiel/followers","following_url":"https://api.github.com/users/wrygiel/following{/other_user}","gists_url":"https://api.github.com/users/wrygiel/gists{/gist_id}","starred_url":"https://api.github.com/users/wrygiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wrygiel/subscriptions","organizations_url":"https://api.github.com/users/wrygiel/orgs","repos_url":"https://api.github.com/users/wrygiel/repos","events_url":"https://api.github.com/users/wrygiel/events{/privacy}","received_events_url":"https://api.github.com/users/wrygiel/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":25,"created_at":"2017-05-31T13:25:18Z","updated_at":"2017-09-19T19:28:14Z","closed_at":"2017-09-19T19:28:14Z","author_association":"OWNER","body":"During the [Skype call with Ghent](https://github.com/erasmus-without-paper/ewp-specs-api-mobilities/issues/25#issuecomment-304645291), Ghent developers noted that - in their setup - it is possible to create a kind of a race condition in the [`update-arrival-departure-dates-v1`](https://github.com/erasmus-without-paper/ewp-specs-api-mobilities/blob/a1a1fbdbefd843792d64f2f50ae8d34f5c0107ac/endpoints/update-request.xsd#L126) update request.\r\n\r\nCurrently, this update request allows the caller to simply **replace** the actual-arrival and actual-departure field values. Ghent intends to have a daemon which pushes these update requests at the sending HEI, and they have multiple servers which can do the pushing. Due to this, and to network latency, if two updates are queued at the same time, there's no way of knowing which one will arrive first.\r\n\r\nGhent wants to add some kind of versioning, so that the server (the sending HEI in this case) will be able to detect which of the two \"replace\" actions was the last one. If the server detects an \"outdated\" request, it will respond with HTTP 409 Conflict (or other proper error response status).\r\n\r\n@erasmus-without-paper/all-members "},"comment":{"url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/comments/330648105","html_url":"https://github.com/erasmus-without-paper/ewp-specs-api-omobilities/issues/27#issuecomment-330648105","issue_url":"https://api.github.com/repos/erasmus-without-paper/ewp-specs-api-omobilities/issues/27","id":330648105,"user":{"login":"wrygiel","id":2168535,"avatar_url":"https://avatars2.githubusercontent.com/u/2168535?v=4","gravatar_id":"","url":"https://api.github.com/users/wrygiel","html_url":"https://github.com/wrygiel","followers_url":"https://api.github.com/users/wrygiel/followers","following_url":"https://api.github.com/users/wrygiel/following{/other_user}","gists_url":"https://api.github.com/users/wrygiel/gists{/gist_id}","starred_url":"https://api.github.com/users/wrygiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wrygiel/subscriptions","organizations_url":"https://api.github.com/users/wrygiel/orgs","repos_url":"https://api.github.com/users/wrygiel/repos","events_url":"https://api.github.com/users/wrygiel/events{/privacy}","received_events_url":"https://api.github.com/users/wrygiel/received_events","type":"User","site_admin":false},"created_at":"2017-09-19T19:28:13Z","updated_at":"2017-09-19T19:28:13Z","author_association":"OWNER","body":"All done."}}
{"actor":{"display_login":"wrygiel"}}