)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c1cc007858f835a661ed9f030f5285edf83fd276","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ca8108e7_0560da72","updated":"2022-03-14 18:33:12.000000000","message":"Definitely an improvement.","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"3500ce524d0ed4660940cba715414194c031aec7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ff66a6cd_a766a1c8","updated":"2022-07-21 15:50:26.000000000","message":"I\u0027m merging this - it changes doc-strings only, Tim was +2 before I addressed his comments, so I think it\u0027s OK.","commit_id":"8155e69b6a6f6eaaf30ad88d59d0c6812e56e76c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"89135e0d3a3856643f0a152345155527b666fb90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0c490bb3_9b60e349","updated":"2022-07-22 09:09:25.000000000","message":"recheck\n\ntempest failure not related to swift","commit_id":"8155e69b6a6f6eaaf30ad88d59d0c6812e56e76c"}],"swift/container/sharder.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d4e09790326e10dd60cb65255bc8cf17321cefcc","unresolved":true,"context_lines":[{"line_number":527,"context_line":"        key ensures that a cleaving context is only loaded for a db that"},{"line_number":528,"context_line":"        matches the id and max row when the context was created; if a db is"},{"line_number":529,"context_line":"        modified such that its max row changes then a different context, or no"},{"line_number":530,"context_line":"        context, will be loaded."},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"        :return: A dict to which cleave progress metadata may be added. The"},{"line_number":533,"context_line":"            dict initially has a key ``ref`` which should not be modified by"}],"source_content_type":"text/x-python","patch_set":1,"id":"702e5300_5b6ebb90","side":"PARENT","line":530,"updated":"2022-03-14 16:35:52.000000000","message":"it does not return a dict and the  key is not based on the max row","commit_id":"014c98e853b86fc44312d879bec12099be6e22d0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c1cc007858f835a661ed9f030f5285edf83fd276","unresolved":true,"context_lines":[{"line_number":450,"context_line":"    Encapsulates metadata associated with the progress of cleaving a retiring"},{"line_number":451,"context_line":"    DB. This metadata includes:"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"      * `ref`: The unique part of the key that is used when persisting a"},{"line_number":454,"context_line":"        serialized `CleavingContext` as sysmeta in the DB. The unique part of"},{"line_number":455,"context_line":"        the key is based off the DB id. This ensures that each context is"},{"line_number":456,"context_line":"        associated with a specific DB file. The unique part of the key is"}],"source_content_type":"text/x-python","patch_set":1,"id":"7dcea811_d9cbbc13","line":453,"range":{"start_line":453,"start_character":9,"end_line":453,"end_character":12},"updated":"2022-03-14 18:33:12.000000000","message":"Did you want this to render as code, or italics? If code, you want ``double backticks``.","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b3bf8600679b2b1ffaf9369ab7e7042e6df24875","unresolved":false,"context_lines":[{"line_number":450,"context_line":"    Encapsulates metadata associated with the progress of cleaving a retiring"},{"line_number":451,"context_line":"    DB. This metadata includes:"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"      * `ref`: The unique part of the key that is used when persisting a"},{"line_number":454,"context_line":"        serialized `CleavingContext` as sysmeta in the DB. The unique part of"},{"line_number":455,"context_line":"        the key is based off the DB id. This ensures that each context is"},{"line_number":456,"context_line":"        associated with a specific DB file. The unique part of the key is"}],"source_content_type":"text/x-python","patch_set":1,"id":"6d35038f_2e7bdf24","line":453,"range":{"start_line":453,"start_character":9,"end_line":453,"end_character":12},"in_reply_to":"7dcea811_d9cbbc13","updated":"2022-03-16 14:58:24.000000000","message":"Done\n\nbeen writing md5 too much recently :)","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c1cc007858f835a661ed9f030f5285edf83fd276","unresolved":true,"context_lines":[{"line_number":460,"context_line":"      * `cursor`: the upper bound of the last shard range to have been cleaved"},{"line_number":461,"context_line":"        from retiring DB."},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"      * `max_row`: the broker\u0027s max row; this is updated to the value of the"},{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"07de3ac6_2681f99c","line":463,"range":{"start_line":463,"start_character":23,"end_line":463,"end_character":39},"updated":"2022-03-14 18:33:12.000000000","message":"Is it really a property of the broker, or the DB (and specifically, the *retiring* DB)? Or do we mean this more as a definition: the broker\u0027s max_row is defined as the retiring DB\u0027s max_row?\n\nThen later, are we loading a CleavingContext for a DB, or for a broker?","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b3bf8600679b2b1ffaf9369ab7e7042e6df24875","unresolved":false,"context_lines":[{"line_number":460,"context_line":"      * `cursor`: the upper bound of the last shard range to have been cleaved"},{"line_number":461,"context_line":"        from retiring DB."},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"      * `max_row`: the broker\u0027s max row; this is updated to the value of the"},{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fd9a09e_900e7d3e","line":463,"range":{"start_line":463,"start_character":23,"end_line":463,"end_character":39},"in_reply_to":"07de3ac6_2681f99c","updated":"2022-03-16 14:58:24.000000000","message":"Done","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c1cc007858f835a661ed9f030f5285edf83fd276","unresolved":true,"context_lines":[{"line_number":462,"context_line":""},{"line_number":463,"context_line":"      * `max_row`: the broker\u0027s max row; this is updated to the value of the"},{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"      * `cleave_to_row`: this records the value of `max_row` at the moment"},{"line_number":468,"context_line":"        when cleaving starts for the DB. When cleaving completes (i.e. the"}],"source_content_type":"text/x-python","patch_set":1,"id":"a233aa7c_a5b06ac2","line":465,"range":{"start_line":465,"start_character":43,"end_line":465,"end_character":51},"updated":"2022-03-14 18:33:12.000000000","message":"Progress, or process?","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b3bf8600679b2b1ffaf9369ab7e7042e6df24875","unresolved":false,"context_lines":[{"line_number":462,"context_line":""},{"line_number":463,"context_line":"      * `max_row`: the broker\u0027s max row; this is updated to the value of the"},{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"      * `cleave_to_row`: this records the value of `max_row` at the moment"},{"line_number":468,"context_line":"        when cleaving starts for the DB. When cleaving completes (i.e. the"}],"source_content_type":"text/x-python","patch_set":1,"id":"f065e642_564228d3","line":465,"range":{"start_line":465,"start_character":43,"end_line":465,"end_character":51},"in_reply_to":"a233aa7c_a5b06ac2","updated":"2022-03-16 14:58:24.000000000","message":"I think I did mean act of progressing, but process works too","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c1cc007858f835a661ed9f030f5285edf83fd276","unresolved":true,"context_lines":[{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"      * `cleave_to_row`: this records the value of `max_row` at the moment"},{"line_number":468,"context_line":"        when cleaving starts for the DB. When cleaving completes (i.e. the"},{"line_number":469,"context_line":"        cleave cursor has reached the upper bound of the cleaving namespace),"},{"line_number":470,"context_line":"        `cleave_to_row` is compared to the current `max_row`: if the two values"}],"source_content_type":"text/x-python","patch_set":1,"id":"56261947_d7efeca1","line":467,"range":{"start_line":467,"start_character":25,"end_line":467,"end_character":37},"updated":"2022-03-14 18:33:12.000000000","message":"nit: could probably drop this part, have it as just\n\n\u003e ``cleave_to_row``: the value of ``max_row`` at the moment when cleaving starts for the DB. ...\n\nSimilar comments for last_cleave_to_row, ranges_done, and ranges_todo.","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"b3bf8600679b2b1ffaf9369ab7e7042e6df24875","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        retiring DB\u0027s `max_row` every time a `CleavingContext` is loaded for"},{"line_number":465,"context_line":"        that DB, and may change during the progress of cleaving the DB."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"      * `cleave_to_row`: this records the value of `max_row` at the moment"},{"line_number":468,"context_line":"        when cleaving starts for the DB. When cleaving completes (i.e. the"},{"line_number":469,"context_line":"        cleave cursor has reached the upper bound of the cleaving namespace),"},{"line_number":470,"context_line":"        `cleave_to_row` is compared to the current `max_row`: if the two values"}],"source_content_type":"text/x-python","patch_set":1,"id":"63f0ce9a_34457d9a","line":467,"range":{"start_line":467,"start_character":25,"end_line":467,"end_character":37},"in_reply_to":"56261947_d7efeca1","updated":"2022-03-16 14:58:24.000000000","message":"Done","commit_id":"27681e6009f1c2ee459b6b4e4b98c5d741c5155c"}]}
