)]}'
{"swift/obj/reconstructor.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f3d793b5d9477b5e3c9e51b8b12d5c51c26d03fa","unresolved":true,"context_lines":[{"line_number":236,"context_line":"            \u0027rebuild_handoff_node_count\u0027, 2))"},{"line_number":237,"context_line":"        self.quarantine_threshold \u003d non_negative_int("},{"line_number":238,"context_line":"            conf.get(\u0027quarantine_threshold\u0027, 0))"},{"line_number":239,"context_line":"        self.quarantine_age \u003d int("},{"line_number":240,"context_line":"            conf.get(\u0027quarantine_age\u0027,"},{"line_number":241,"context_line":"                     conf.get(\u0027reclaim_age\u0027, DEFAULT_RECLAIM_AGE)))"},{"line_number":242,"context_line":"        self.request_node_count \u003d config_request_node_count_value("}],"source_content_type":"text/x-python","patch_set":1,"id":"132d00d8_7cc8b5c3","line":239,"updated":"2021-07-05 05:55:45.000000000","message":"Maybe this should use utils.non_negative_int so it can be \u003e\u003d 0. Because currently this would allow a negative quarantine_age","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6fdfc394aec5dcb77627a73a352c629b3b9ab2f6","unresolved":true,"context_lines":[{"line_number":236,"context_line":"            \u0027rebuild_handoff_node_count\u0027, 2))"},{"line_number":237,"context_line":"        self.quarantine_threshold \u003d non_negative_int("},{"line_number":238,"context_line":"            conf.get(\u0027quarantine_threshold\u0027, 0))"},{"line_number":239,"context_line":"        self.quarantine_age \u003d int("},{"line_number":240,"context_line":"            conf.get(\u0027quarantine_age\u0027,"},{"line_number":241,"context_line":"                     conf.get(\u0027reclaim_age\u0027, DEFAULT_RECLAIM_AGE)))"},{"line_number":242,"context_line":"        self.request_node_count \u003d config_request_node_count_value("}],"source_content_type":"text/x-python","patch_set":1,"id":"3abfb411_92a3641c","line":239,"in_reply_to":"132d00d8_7cc8b5c3","updated":"2021-07-06 09:20:29.000000000","message":"I really wanted this to be non_negative_int but problem is reclaim_age (which is the default) is just an int i.e. it can be negative, and I can\u0027t audit everyone\u0027s configs to check they don\u0027t have a stupid negative reclaim_age :/\n\nnegative quarantine_age is effectively equivalent to zero, as is negative reclaim_age, so I think this is an annoyance rather than a problem","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"}],"test/unit/obj/test_reconstructor.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f3d793b5d9477b5e3c9e51b8b12d5c51c26d03fa","unresolved":true,"context_lines":[{"line_number":5331,"context_line":"    def test_quarantine_age_conf(self):"},{"line_number":5332,"context_line":"        # defaults to DEFAULT_RECLAIM_AGE"},{"line_number":5333,"context_line":"        reconstructor \u003d object_reconstructor.ObjectReconstructor({})"},{"line_number":5334,"context_line":"        self.assertEqual(604800, reconstructor.quarantine_age)"},{"line_number":5335,"context_line":""},{"line_number":5336,"context_line":"        reconstructor \u003d object_reconstructor.ObjectReconstructor("},{"line_number":5337,"context_line":"            {\u0027quarantine_age\u0027: \u00270\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"8ff621a5_2e92a4e5","line":5334,"updated":"2021-07-05 05:55:45.000000000","message":"NIT: Should you just import DEFAULT_RECLAIM_AGE and use it here rather then it\u0027s value incase we ever decide to change the default?","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6fdfc394aec5dcb77627a73a352c629b3b9ab2f6","unresolved":true,"context_lines":[{"line_number":5331,"context_line":"    def test_quarantine_age_conf(self):"},{"line_number":5332,"context_line":"        # defaults to DEFAULT_RECLAIM_AGE"},{"line_number":5333,"context_line":"        reconstructor \u003d object_reconstructor.ObjectReconstructor({})"},{"line_number":5334,"context_line":"        self.assertEqual(604800, reconstructor.quarantine_age)"},{"line_number":5335,"context_line":""},{"line_number":5336,"context_line":"        reconstructor \u003d object_reconstructor.ObjectReconstructor("},{"line_number":5337,"context_line":"            {\u0027quarantine_age\u0027: \u00270\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"ad7f7900_dda1c72c","line":5334,"in_reply_to":"8ff621a5_2e92a4e5","updated":"2021-07-06 09:20:29.000000000","message":"on the contrary, if we ever change DEFAULT_RECLAIM_AGE I think I\u0027d like this test to fail so someone has to at least think about any implications for quarantine","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f3d793b5d9477b5e3c9e51b8b12d5c51c26d03fa","unresolved":true,"context_lines":[{"line_number":5353,"context_line":"            {\u0027quarantine_age\u0027: 2.2})"},{"line_number":5354,"context_line":"        self.assertEqual(2, reconstructor.quarantine_age)"},{"line_number":5355,"context_line":""},{"line_number":5356,"context_line":"        for bad in (\u00271.1\u0027, \u0027auto\u0027, \u0027bad\u0027):"},{"line_number":5357,"context_line":"            with annotate_failure(bad):"},{"line_number":5358,"context_line":"                with self.assertRaises(ValueError):"},{"line_number":5359,"context_line":"                    object_reconstructor.ObjectReconstructor("}],"source_content_type":"text/x-python","patch_set":1,"id":"a5844124_4cfccc76","line":5356,"updated":"2021-07-05 05:55:45.000000000","message":"what about negative? Eg -1? I assume we don\u0027t want a negative quarantine_age, but I believe this is currently allowed unless we change it to utils.non_negative_int... or maybe it should be non_negative_float untess people what fraction of seconds.. though I don\u0027t know why they would.","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6fdfc394aec5dcb77627a73a352c629b3b9ab2f6","unresolved":true,"context_lines":[{"line_number":5353,"context_line":"            {\u0027quarantine_age\u0027: 2.2})"},{"line_number":5354,"context_line":"        self.assertEqual(2, reconstructor.quarantine_age)"},{"line_number":5355,"context_line":""},{"line_number":5356,"context_line":"        for bad in (\u00271.1\u0027, \u0027auto\u0027, \u0027bad\u0027):"},{"line_number":5357,"context_line":"            with annotate_failure(bad):"},{"line_number":5358,"context_line":"                with self.assertRaises(ValueError):"},{"line_number":5359,"context_line":"                    object_reconstructor.ObjectReconstructor("}],"source_content_type":"text/x-python","patch_set":1,"id":"189635ce_fb7578b3","line":5356,"in_reply_to":"a5844124_4cfccc76","updated":"2021-07-06 09:20:29.000000000","message":"as per comment in reconstructor.py, this annoys me but defaulting to reclaim_age forced me to allow all ints.","commit_id":"ba1e894058a7d643a7a3e0952c8ecbcf707251f4"}]}
