{"action":"opened","issue":{"url":"https://api.github.com/repos/magfest/ubersystem/issues/1881","repository_url":"https://api.github.com/repos/magfest/ubersystem","labels_url":"https://api.github.com/repos/magfest/ubersystem/issues/1881/labels{/name}","comments_url":"https://api.github.com/repos/magfest/ubersystem/issues/1881/comments","events_url":"https://api.github.com/repos/magfest/ubersystem/issues/1881/events","html_url":"https://github.com/magfest/ubersystem/issues/1881","id":161467011,"number":1881,"title":"hard crash in uber when bad data remains in DB after migration","user":{"login":"binary1230","id":5413064,"avatar_url":"https://avatars.githubusercontent.com/u/5413064?v=3","gravatar_id":"","url":"https://api.github.com/users/binary1230","html_url":"https://github.com/binary1230","followers_url":"https://api.github.com/users/binary1230/followers","following_url":"https://api.github.com/users/binary1230/following{/other_user}","gists_url":"https://api.github.com/users/binary1230/gists{/gist_id}","starred_url":"https://api.github.com/users/binary1230/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/binary1230/subscriptions","organizations_url":"https://api.github.com/users/binary1230/orgs","repos_url":"https://api.github.com/users/binary1230/repos","events_url":"https://api.github.com/users/binary1230/events{/privacy}","received_events_url":"https://api.github.com/users/binary1230/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-21T15:25:16Z","updated_at":"2016-06-21T15:25:16Z","closed_at":null,"body":"This is interesting and bears some further investigation.\r\n\r\nbackstory: waaaaay waaaaay too late at night the night before opening magstock registration, I was experiencing a reproducible, hard crash of uber that would render the app unresponsive via HTTP.  This is perhaps similar to some other hard crashes we had seen in the past.\r\n\r\n@kitsuta and I were hoping that this could be isolated and hardened to not cause uber to become unresponsive.\r\n\r\ni had an attendee with attendee.site_number = \"asdf\" before the migration. when trying to save that attendee with site_number now set to one of the enum ints, the tracking code was trying to resolve the string \"asdf\" to int, breaking everything.  \r\n\r\nThis would throw an exception, which would then render the app unresponsive.\r\n\r\nbefore:\r\n```\r\nsite_number    = Column(UnicodeText, default='')\r\n```\r\n\r\nafter:\r\n```\r\nsite_number    = Column(Choice(c.CAMPSITE_OPTS), nullable=True, admin_only=True)\r\n```\r\n\r\nother suggestion: we should probably in the future run some kind of automated hourly check that just runs the validation checks on every single attendee in the database looking for invalid data in db columns"}}
{"actor":{"display_login":"binary1230"}}