)]}'
{"doc/saio/swift/proxy-server.conf":[{"author":{"_account_id":14766,"name":"Kazuhiro MIYAHARA","email":"miyahara.kazuhiro@lab.ntt.co.jp","username":"miyahara"},"change_message_id":"1c4ad9cc9ab434093b52a85edc8ad7bf9d72788d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"eventlet_debug \u003d true"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[pipeline:main]"},{"line_number":10,"context_line":"pipeline \u003d standard_before_auth container_sync tempauth standard_after_auth proxy-server"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[filter:standard_before_auth]"},{"line_number":13,"context_line":"use \u003d egg:swift#standard_before_auth"}],"source_content_type":"text/plain","patch_set":4,"id":"3fa0c359_6e4ecd97","line":10,"range":{"start_line":10,"start_character":32,"end_line":10,"end_character":47},"updated":"2018-02-14 09:27:54.000000000","message":"Why container sync is not in standard_before_auth?","commit_id":"b6aeccae6bf84b56cf08be5872efa7b2cbb84091"}],"swift/common/pipeline.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c81332dc0dc40133d79eaaa1f7da809c2446b4e1","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    {\u0027setting\u0027: 100, \u0027other_setting\u0027: 200}"},{"line_number":48,"context_line":"    \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    sliced_conf \u003d conf.copy()"},{"line_number":51,"context_line":"    for key, value in conf.items():"},{"line_number":52,"context_line":"        if not key.startswith(prefix):"},{"line_number":53,"context_line":"            continue"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_069eed62","line":50,"range":{"start_line":50,"start_character":18,"end_line":50,"end_character":29},"updated":"2018-03-07 20:25:36.000000000","message":"Really? This breaks from your docstring:\n\n\u003e\u003e\u003e conf \u003d {\u0027abc_setting\u0027: 1, \u0027abc_other_setting\u0027: 2,\n...         \u0027def_setting\u0027: 100, \u0027def_other_setting\u0027: 200,\n...         \u0027color\u0027: \u0027green\u0027, \u0027flavor\u0027: \u0027mint\u0027}\n\u003e\u003e\u003e conf_slice(conf, \u0027abc_\u0027)\n{\u0027abc_other_setting\u0027: 2,\n \u0027abc_setting\u0027: 1,\n \u0027color\u0027: \u0027green\u0027,\n \u0027def_other_setting\u0027: 200,\n \u0027def_setting\u0027: 100,\n \u0027flavor\u0027: \u0027mint\u0027,\n \u0027other_setting\u0027: 2,\n \u0027setting\u0027: 1}\n\nAt the same time... there are definite advantages to having it the way it\u0027s written. Then you can just pick one set of values for rate_limit_after_segment, rate_limit_segments_per_sec, and max_get_time (for example) and have them apply to *both* SLO and DLO.","commit_id":"b6aeccae6bf84b56cf08be5872efa7b2cbb84091"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c81332dc0dc40133d79eaaa1f7da809c2446b4e1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            # in their filter factories. Most commonly, this is calling"},{"line_number":65,"context_line":"            # register_swift_info."},{"line_number":66,"context_line":"            filter_conf \u003d conf_slice(conf, filter_name)"},{"line_number":67,"context_line":"            ff \u003d module.filter_factory(filter_conf)"},{"line_number":68,"context_line":"            app \u003d ff(app)"},{"line_number":69,"context_line":"        return app"},{"line_number":70,"context_line":"    return apply_filters_to_app"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_e6e179d2","line":67,"range":{"start_line":67,"start_character":24,"end_line":67,"end_character":38},"updated":"2018-03-07 20:25:36.000000000","message":"Good thing we have a strong naming convention!","commit_id":"b6aeccae6bf84b56cf08be5872efa7b2cbb84091"},{"author":{"_account_id":14766,"name":"Kazuhiro MIYAHARA","email":"miyahara.kazuhiro@lab.ntt.co.jp","username":"miyahara"},"change_message_id":"1c4ad9cc9ab434093b52a85edc8ad7bf9d72788d","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    This corresponds to the following section of pipeline:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    catch_errors gatekeeper healthcheck proxy-logging memcache bulk tempurl"},{"line_number":80,"context_line":"      ratelimit crossdomain"},{"line_number":81,"context_line":"    \"\"\""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_0e22a9b9","line":79,"range":{"start_line":79,"start_character":53,"end_line":79,"end_character":54},"updated":"2018-02-14 09:27:54.000000000","message":"\"listing_formats\" should be in the list.","commit_id":"b6aeccae6bf84b56cf08be5872efa7b2cbb84091"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c81332dc0dc40133d79eaaa1f7da809c2446b4e1","unresolved":false,"context_lines":[{"line_number":120,"context_line":"         (\u0027dlo_\u0027, dlo),"},{"line_number":121,"context_line":"         (\u0027versioned_writes_\u0027, versioned_writes),"},{"line_number":122,"context_line":"         (\u0027symlink_\u0027, symlink),"},{"line_number":123,"context_line":"         (\u0027proxy_logging_\u0027, proxy_logging)])"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_a6b621d9","line":123,"range":{"start_line":123,"start_character":9,"end_line":123,"end_character":42},"updated":"2018-03-07 20:25:36.000000000","message":"Interesting... so if you want to customize proxy_logging, you have to put those config options in two places, where before you only had to do it once. Probably still worth it.","commit_id":"b6aeccae6bf84b56cf08be5872efa7b2cbb84091"}]}
