{"action":"created","issue":{"url":"https://api.github.com/repos/lookout/deploydb/issues/141","labels_url":"https://api.github.com/repos/lookout/deploydb/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/lookout/deploydb/issues/141/comments","events_url":"https://api.github.com/repos/lookout/deploydb/issues/141/events","html_url":"https://github.com/lookout/deploydb/pull/141","id":66000836,"number":141,"title":"Allow Models-config to change (configReload) while deployments are in progress","user":{"login":"maheshkelkar","id":10839177,"avatar_url":"https://avatars.githubusercontent.com/u/10839177?v=3","gravatar_id":"","url":"https://api.github.com/users/maheshkelkar","html_url":"https://github.com/maheshkelkar","followers_url":"https://api.github.com/users/maheshkelkar/followers","following_url":"https://api.github.com/users/maheshkelkar/following{/other_user}","gists_url":"https://api.github.com/users/maheshkelkar/gists{/gist_id}","starred_url":"https://api.github.com/users/maheshkelkar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maheshkelkar/subscriptions","organizations_url":"https://api.github.com/users/maheshkelkar/orgs","repos_url":"https://api.github.com/users/maheshkelkar/repos","events_url":"https://api.github.com/users/maheshkelkar/events{/privacy}","received_events_url":"https://api.github.com/users/maheshkelkar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rtyler","id":26594,"avatar_url":"https://avatars.githubusercontent.com/u/26594?v=3","gravatar_id":"","url":"https://api.github.com/users/rtyler","html_url":"https://github.com/rtyler","followers_url":"https://api.github.com/users/rtyler/followers","following_url":"https://api.github.com/users/rtyler/following{/other_user}","gists_url":"https://api.github.com/users/rtyler/gists{/gist_id}","starred_url":"https://api.github.com/users/rtyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rtyler/subscriptions","organizations_url":"https://api.github.com/users/rtyler/orgs","repos_url":"https://api.github.com/users/rtyler/repos","events_url":"https://api.github.com/users/rtyler/events{/privacy}","received_events_url":"https://api.github.com/users/rtyler/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-04-02T20:02:55Z","updated_at":"2015-04-02T20:03:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/lookout/deploydb/pulls/141","html_url":"https://github.com/lookout/deploydb/pull/141","diff_url":"https://github.com/lookout/deploydb/pull/141.diff","patch_url":"https://github.com/lookout/deploydb/pull/141.patch"},"body":"- Added ModelConfig model, DB table, etc to keep track of old configs.\r\n\r\n- Added checksum calculations to keep track of each configReload\r\n  iteration. This calculation reads all the directories and files\r\n  in a deterministic order and computes checksum, which should remain\r\n  same for given config on any platform.\r\n\r\n- The checksum is stored in the DeployDB app object as well Flow object\r\n  in order to associate them with the given iteration of config.\r\n\r\n- On the subsequent Flow/Deployment transitions, if checksum from the\r\n  Flow matches with that in the App object, then in-memory (i.e. registry)\r\n  Model objects are used. Otherwise Model objects are read from the\r\n  ModelConfig objects.\r\n\r\n- In loadConfigModels, moved code repetitions such as loading from\r\n  string, inserting into registry, checksum calculations, etc.\r\n  to common function\r\n\r\n- Added cucumber and spock tests to validate the code.\r\n\r\nReferences #126"},"comment":{"url":"https://api.github.com/repos/lookout/deploydb/issues/comments/89027405","html_url":"https://github.com/lookout/deploydb/pull/141#issuecomment-89027405","issue_url":"https://api.github.com/repos/lookout/deploydb/issues/141","id":89027405,"user":{"login":"maheshkelkar","id":10839177,"avatar_url":"https://avatars.githubusercontent.com/u/10839177?v=3","gravatar_id":"","url":"https://api.github.com/users/maheshkelkar","html_url":"https://github.com/maheshkelkar","followers_url":"https://api.github.com/users/maheshkelkar/followers","following_url":"https://api.github.com/users/maheshkelkar/following{/other_user}","gists_url":"https://api.github.com/users/maheshkelkar/gists{/gist_id}","starred_url":"https://api.github.com/users/maheshkelkar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maheshkelkar/subscriptions","organizations_url":"https://api.github.com/users/maheshkelkar/orgs","repos_url":"https://api.github.com/users/maheshkelkar/repos","events_url":"https://api.github.com/users/maheshkelkar/events{/privacy}","received_events_url":"https://api.github.com/users/maheshkelkar/received_events","type":"User","site_admin":false},"created_at":"2015-04-02T20:03:16Z","updated_at":"2015-04-02T20:03:16Z","body":"@GiriDandu Please review."}}