)]}'
{"swift/cli/ringbuilder.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"7818ab11417237b0b54384c6e1af8bfe2a424376","unresolved":false,"context_lines":[{"line_number":779,"context_line":"            print(\u0027%s marked for removal and will \u0027"},{"line_number":780,"context_line":"                  \u0027be removed next rebalance.\u0027 % format_device(dev))"},{"line_number":781,"context_line":"            flags \u003d \"DEL\""},{"line_number":782,"context_line":"            builder.set_remove_flag(flags)"},{"line_number":783,"context_line":"        builder.save(builder_file)"},{"line_number":784,"context_line":"        exit(EXIT_SUCCESS)"},{"line_number":785,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_0d3d772b","line":782,"updated":"2016-04-12 18:09:25.000000000","message":"Just doing a\n\n builder.remove_flags \u003d True\n\nwould be sufficient","commit_id":"8f6ba68e99da4f8c4797e6eae6f1055569440372"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"7818ab11417237b0b54384c6e1af8bfe2a424376","unresolved":false,"context_lines":[{"line_number":818,"context_line":"            logger.addHandler(handler)"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"        if (builder.min_part_seconds_left \u003e 0 and builder.remove_flags and"},{"line_number":821,"context_line":"                not options.force):"},{"line_number":822,"context_line":"            print(\u0027No partitions could be reassigned.\u0027)"},{"line_number":823,"context_line":"            print(\u0027The time between rebalances must be at least \u0027"},{"line_number":824,"context_line":"                  \u0027min_part_hours: %s hours (%s remaining)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_4dbc8f05","line":821,"updated":"2016-04-12 18:09:25.000000000","message":"Well, this works, but might be unwanted.\n\nLet\u0027s assume you did a few other actions since the last rebalance (changing weight, adding new devices), and remove a single device.\n\nIn this case the rebalance also affects all other devices and simply ignores the min_part_seconds_left and this is most likely not wanted.\n\nRight now there is a good reason for having a \"--force\" option in this case; we somehow need a better way to handle this.\n\nFor example, it only proceed when there were only devices removed, but no other actions since the last rebalance. That would be ok IMO.","commit_id":"8f6ba68e99da4f8c4797e6eae6f1055569440372"}],"swift/common/ring/builder.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"7818ab11417237b0b54384c6e1af8bfe2a424376","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        \"\"\""},{"line_number":260,"context_line":"        self.min_part_hours \u003d min_part_hours"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    def set_remove_flag(self, flags):"},{"line_number":263,"context_line":"        \"\"\"Change the remove_flags to indicate that rebalance will handle the"},{"line_number":264,"context_line":"        removal last time\"\"\""},{"line_number":265,"context_line":"        self.remove_flags \u003d flags"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_4d492f5f","line":262,"range":{"start_line":262,"start_character":8,"end_line":262,"end_character":23},"updated":"2016-04-12 18:09:25.000000000","message":"This method isn\u0027t needed, you could simply do something like this:\n\n builder \u003d RingBuilder(...)\n builder.remove_flags \u003d True","commit_id":"8f6ba68e99da4f8c4797e6eae6f1055569440372"}]}
