{"issue":{"state":"open","created_at":"2011-11-21T22:06:34Z","updated_at":"2011-11-22T02:00:55Z","comments":11,"user":{"gravatar_id":"2b5b729537aaef280639ce21fc2194c1","id":50076,"url":"https://api.github.com/users/davidmarin","login":"davidmarin","avatar_url":"https://secure.gravatar.com/avatar/2b5b729537aaef280639ce21fc2194c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"body":"In hand-testing at Yelp, we ran into some very old code that read `DEFAULT_PROTOCOL` directly from an `MRJob` instance. In v0.2.8, the job's `DEFAULT_PROTOCOL` attribute is set to `'json'`, but in v0.3.0, it's `None`.\r\n\r\nSame goes for `DEFAULT_INPUT_PROTOCOL`; for backwards compatibility, it should still be `'raw_value'`, not `None`.\r\n\r\n(`DEFAULT_OUTPUT_PROTOCOL` was `None` in v0.2.8 anyways.)\r\n\r\nI think fixing this is as simple as setting `DEFAULT_PROTOCOL = 'json'` and `DEFAULT_INPUT_PROTOCOL = 'raw_value'`, and ignoring it (i.e. not issuing a warning or calling `MRJob.protocols()`) if it's set to the default value.\r\n\r\n(We should of course also get rid of this crufty old code at Yelp, but we figured other people might be doing the same thing, and they at least deserved the courtesy of a deprecation warning.)","assignee":null,"id":2310058,"labels":[{"name":"Bug","color":"d95757","url":"https://api.github.com/repos/Yelp/mrjob/labels/Bug"}],"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"number":285,"title":"MRJob.DEFAULT_PROTOCOL shouldn't be None","closed_at":null,"html_url":"https://github.com/Yelp/mrjob/issues/285","url":"https://api.github.com/repos/Yelp/mrjob/issues/285","milestone":{"state":"open","created_at":"2011-10-31T23:41:29Z","due_on":null,"closed_issues":12,"creator":{"gravatar_id":"2b5b729537aaef280639ce21fc2194c1","id":50076,"url":"https://api.github.com/users/davidmarin","login":"davidmarin","avatar_url":"https://secure.gravatar.com/avatar/2b5b729537aaef280639ce21fc2194c1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"number":6,"title":"v0.3.0 release","description":"Final bugfixes, cleanup, and documentation for v0.3.0.\r\n","url":"https://api.github.com/repos/Yelp/mrjob/milestones/6","open_issues":1}},"action":"created","comment":{"created_at":"2011-11-22T02:00:55Z","updated_at":"2011-11-22T02:00:55Z","user":{"gravatar_id":"f3994a003da16b74336773a260248eb3","id":40085,"url":"https://api.github.com/users/irskep","login":"irskep","avatar_url":"https://secure.gravatar.com/avatar/f3994a003da16b74336773a260248eb3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"body":"On the other hand, if `x_protocol()` is overridden, then we no longer care what the user is doing because they have taken their fate into their own hands.","id":2827865,"url":"https://api.github.com/repos/Yelp/mrjob/issues/comments/2827865"}}