)]}'
{"swift/cli/manage_shard_ranges.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"53e8a9461d837ede948225e1d2d1ceaeb1cd2675","unresolved":true,"context_lines":[{"line_number":184,"context_line":"# they have not been set. It is therefore important that the CLI parser"},{"line_number":185,"context_line":"# provides None as a default so that we can detect that no value was set on the"},{"line_number":186,"context_line":"# command line. We use this alias to act as a reminder."},{"line_number":187,"context_line":"DEFAULT_TO_NONE \u003d None"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class ManageShardRangesException(Exception):"}],"source_content_type":"text/x-python","patch_set":2,"id":"269b1f91_ad66bb2d","line":187,"updated":"2021-05-20 01:06:14.000000000","message":"Would it be better to use some new sentinel for those defaults instead?\n\n USE_SHARDER_CONF \u003d object()\n\nsay?","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"53881275564b5cf09848ca84282a3870b7b4520c","unresolved":true,"context_lines":[{"line_number":184,"context_line":"# they have not been set. It is therefore important that the CLI parser"},{"line_number":185,"context_line":"# provides None as a default so that we can detect that no value was set on the"},{"line_number":186,"context_line":"# command line. We use this alias to act as a reminder."},{"line_number":187,"context_line":"DEFAULT_TO_NONE \u003d None"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class ManageShardRangesException(Exception):"}],"source_content_type":"text/x-python","patch_set":2,"id":"617332a2_e52e95f8","line":187,"in_reply_to":"269b1f91_ad66bb2d","updated":"2021-05-20 10:20:05.000000000","message":"nice idea","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"988926bd06bef9f4507729f87857c40778dc5a47","unresolved":true,"context_lines":[{"line_number":916,"context_line":"    for k in vars(args):"},{"line_number":917,"context_line":"        # set any None-value args from conf_args"},{"line_number":918,"context_line":"        if getattr(args, k, USE_SHARDER_DEFAULT) is USE_SHARDER_DEFAULT:"},{"line_number":919,"context_line":"            setattr(args, k, getattr(conf_args, k, None))"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"    if args.func in (analyze_shard_ranges,):"},{"line_number":922,"context_line":"        args.input \u003d args.path_to_file"}],"source_content_type":"text/x-python","patch_set":4,"id":"8db5bf30_4edde60a","line":919,"updated":"2021-05-20 19:17:54.000000000","message":"Something about these getattr/setattrs rubs me the wrong way so I pushed up https://review.opendev.org/c/openstack/swift/+/792476\n\nHappy to have it merge as-is, though!","commit_id":"98624de6566ab33c2ab4d02ecc2f6fe865688a05"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"3921e4fe72dd3dc5ac115de27e38c5e58434ae36","unresolved":true,"context_lines":[{"line_number":916,"context_line":"    for k in vars(args):"},{"line_number":917,"context_line":"        # set any None-value args from conf_args"},{"line_number":918,"context_line":"        if getattr(args, k, USE_SHARDER_DEFAULT) is USE_SHARDER_DEFAULT:"},{"line_number":919,"context_line":"            setattr(args, k, getattr(conf_args, k, None))"},{"line_number":920,"context_line":""},{"line_number":921,"context_line":"    if args.func in (analyze_shard_ranges,):"},{"line_number":922,"context_line":"        args.input \u003d args.path_to_file"}],"source_content_type":"text/x-python","patch_set":4,"id":"a390609f_edc8cb39","line":919,"in_reply_to":"8db5bf30_4edde60a","updated":"2021-05-20 20:00:59.000000000","message":"thanks!","commit_id":"98624de6566ab33c2ab4d02ecc2f6fe865688a05"}],"swift/container/sharder.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"53e8a9461d837ede948225e1d2d1ceaeb1cd2675","unresolved":true,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    @classmethod"},{"line_number":629,"context_line":"    def default(cls):"},{"line_number":630,"context_line":"        return cls()"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf.default())"}],"source_content_type":"text/x-python","patch_set":2,"id":"9d981199_dffd7d41","line":630,"updated":"2021-05-20 01:06:14.000000000","message":"So it\u0027s definitely an edge case, but this feels a little weird:\n\n \u003e\u003e\u003e from swift.container.sharder import *\n \u003e\u003e\u003e ContainerSharder.default()\n Traceback (most recent call last):\n   File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n   File \".../swift/container/sharder.py\", line 630, in default\n     return cls()\n TypeError: __init__() missing 1 required positional argument: \u0027conf\u0027","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"988926bd06bef9f4507729f87857c40778dc5a47","unresolved":true,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    @classmethod"},{"line_number":629,"context_line":"    def default(cls):"},{"line_number":630,"context_line":"        return cls()"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf.default())"}],"source_content_type":"text/x-python","patch_set":2,"id":"386ebbbf_e0497d48","line":630,"in_reply_to":"35842671_ac56a6ee","updated":"2021-05-20 19:17:54.000000000","message":"IDK -- it\u0027s a rough edge, but nothing terrible. Did you have an idea in mind?","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"3921e4fe72dd3dc5ac115de27e38c5e58434ae36","unresolved":true,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    @classmethod"},{"line_number":629,"context_line":"    def default(cls):"},{"line_number":630,"context_line":"        return cls()"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf.default())"}],"source_content_type":"text/x-python","patch_set":2,"id":"2dadc19a_5577e76a","line":630,"in_reply_to":"386ebbbf_e0497d48","updated":"2021-05-20 20:00:59.000000000","message":"argh, the fix I had in mind (and also in my editor at some point - must have messed up a git stash or something) is to just get rid of default(), it really doesn\u0027t add much value if any\n\nsorry - one more spin of the patchset","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"53881275564b5cf09848ca84282a3870b7b4520c","unresolved":true,"context_lines":[{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    @classmethod"},{"line_number":629,"context_line":"    def default(cls):"},{"line_number":630,"context_line":"        return cls()"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf.default())"}],"source_content_type":"text/x-python","patch_set":2,"id":"35842671_ac56a6ee","line":630,"in_reply_to":"9d981199_dffd7d41","updated":"2021-05-20 10:20:05.000000000","message":"oh, yeah,u that\u0027s not great. The default() method isn\u0027t really necessary. Will fix.","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c437268fa4dfa561f9d547584583d34ecd1ff607","unresolved":true,"context_lines":[{"line_number":630,"context_line":"        return cls()"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf.default())"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"class ContainerSharder(ContainerSharderConf, ContainerReplicator):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c98c0569_2ea98b37","line":633,"updated":"2021-05-19 15:13:44.000000000","message":"vars is so cool!","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c437268fa4dfa561f9d547584583d34ecd1ff607","unresolved":true,"context_lines":[{"line_number":639,"context_line":"    def __init__(self, conf, logger\u003dNone):"},{"line_number":640,"context_line":"        logger \u003d logger or get_logger(conf, log_route\u003d\u0027container-sharder\u0027)"},{"line_number":641,"context_line":"        ContainerReplicator.__init__(self, conf, logger\u003dlogger)"},{"line_number":642,"context_line":"        ContainerSharderConf.__init__(self, conf)"},{"line_number":643,"context_line":"        if conf.get(\u0027auto_create_account_prefix\u0027):"},{"line_number":644,"context_line":"            self.logger.warning(\u0027Option auto_create_account_prefix is \u0027"},{"line_number":645,"context_line":"                                \u0027deprecated. Configure \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"34c9fd9d_ce406db3","line":642,"updated":"2021-05-19 15:13:44.000000000","message":"that\u0027s some sneaky double inhereitence shiz right there!","commit_id":"d4f4a98929b14a51814702c393eaebeb8dc2efd2"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8eaf0a5a7a67d8927d0681f711670b84bba401b4","unresolved":true,"context_lines":[{"line_number":626,"context_line":"        return int(config_percent_value(val) * self.shard_container_threshold)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"DEFAULT_SHARDER_CONF \u003d vars(ContainerSharderConf())"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"class ContainerSharder(ContainerSharderConf, ContainerReplicator):"}],"source_content_type":"text/x-python","patch_set":5,"id":"36141a40_b8268951","line":629,"updated":"2021-05-20 22:41:00.000000000","message":"+1","commit_id":"f7fd99a880fee87ef3e5515206aa7f217ae5c0af"}]}
