)]}'
{"swift/common/middleware/cname_lookup.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d47de2a511f01c3bc7e142345c5534db8ad314fe","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        result \u003d result.rstrip(\u0027.\u0027)"},{"line_number":61,"context_line":"        return ttl, result"},{"line_number":62,"context_line":"    except (NXDOMAIN, NoAnswer):"},{"line_number":63,"context_line":"        return 60, False"},{"line_number":64,"context_line":"    except (DNSException):"},{"line_number":65,"context_line":"        return 0, None"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_5ddbaded","line":63,"range":{"start_line":63,"start_character":19,"end_line":63,"end_character":24},"updated":"2017-02-19 15:54:27.000000000","message":"It took me a bit to realize why we added this third possible return type -- we wanted something to distinguish between \"we couldn\u0027t find this in memcache\" and \"we found something in memcache, but it\u0027s not a domain\", yeah? Might be worth a comment.","commit_id":"2b40f4cf6e490b8548f52840fc4572e4ee846abe"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"2c456eab0a3ba74e208c9695f272f97a60b36476","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        result \u003d result.rstrip(\u0027.\u0027)"},{"line_number":61,"context_line":"        return ttl, result"},{"line_number":62,"context_line":"    except (NXDOMAIN, NoAnswer):"},{"line_number":63,"context_line":"        return 60, False"},{"line_number":64,"context_line":"    except (DNSException):"},{"line_number":65,"context_line":"        return 0, None"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_20f32e0c","line":63,"range":{"start_line":63,"start_character":19,"end_line":63,"end_character":24},"in_reply_to":"da36d5c6_5ddbaded","updated":"2017-02-19 16:44:54.000000000","message":"Done","commit_id":"2b40f4cf6e490b8548f52840fc4572e4ee846abe"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d47de2a511f01c3bc7e142345c5534db8ad314fe","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                    found_domain \u003d self.memcache.get(memcache_key)"},{"line_number":134,"context_line":"                if found_domain is None:"},{"line_number":135,"context_line":"                    ttl, found_domain \u003d lookup_cname(a_domain)"},{"line_number":136,"context_line":"                    if self.memcache and ttl \u003e 0:"},{"line_number":137,"context_line":"                        memcache_key \u003d \u0027\u0027.join([\u0027cname-\u0027, given_domain])"},{"line_number":138,"context_line":"                        self.memcache.set(memcache_key, found_domain,"},{"line_number":139,"context_line":"                                          time\u003dttl)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_3d5fd973","line":136,"range":{"start_line":136,"start_character":41,"end_line":136,"end_character":48},"updated":"2017-02-19 15:54:27.000000000","message":"Good call -- caching forever is bad...\n\nThat\u0027s been around a while! https://github.com/openstack/swift/commit/b6cee3e","commit_id":"2b40f4cf6e490b8548f52840fc4572e4ee846abe"}]}
