)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"010c39aaaad6a5efd111bac3c028576e05b2c3aa","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The proxy already has write affinity which does this. But the"},{"line_number":14,"context_line":"replicators do not. Swift already, when searching for handoff nodes,"},{"line_number":15,"context_line":"tries to keep objects disbursed, so this option is turned off by"},{"line_number":16,"context_line":"default and should only activated if you really want swift to try"},{"line_number":17,"context_line":"and find a handoff node in the same region as the failed node."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_efd8c481","line":15,"updated":"2015-07-17 19:57:41.000000000","message":"dispersed?","commit_id":"945aacf498ac4aa309645e838d54d2cced02c37c"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"f4f7c410f7f59cc382bb0633c2b92cc7c203a385","unresolved":false,"context_lines":[{"line_number":17,"context_line":"and find a handoff node in the same region as the failed node."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This change adds a new parameter to"},{"line_number":20,"context_line":"{object,container,account}-replicator sections of the serer"},{"line_number":21,"context_line":"configurations. This parameter is \u0027handoff_zone_affinity\u0027 and defaults"},{"line_number":22,"context_line":"to 0. This number, like in write_affinity, is the number of handoff"},{"line_number":23,"context_line":"nodes to try in the same zone as the failed primary node before"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_a8f95bca","line":20,"updated":"2015-07-25 05:46:37.000000000","message":"s/serer/server/","commit_id":"945aacf498ac4aa309645e838d54d2cced02c37c"}],"swift/obj/replicator.py":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"2657a14fec89c220b58a92a8abb07c11479a8547","unresolved":false,"context_lines":[{"line_number":352,"context_line":"            # place it on before going to the next primary node. This is"},{"line_number":353,"context_line":"            # because hand_off_zone_affinity might be enabled, in which case"},{"line_number":354,"context_line":"            # we need to find a handoff node in the same zone as the failed"},{"line_number":355,"context_line":"            # primary node first."},{"line_number":356,"context_line":"            for primary_node in job[\u0027nodes\u0027]:"},{"line_number":357,"context_line":"                handoff_nodes \u003d iter_nodes_local_first("},{"line_number":358,"context_line":"                    job[\u0027policy\u0027].object_ring, int(job[\u0027partition\u0027]),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_b4ce3a2b","line":355,"updated":"2015-07-15 02:30:01.000000000","message":"I still need more time to check and to consider deeply around here, using job[\u0027nodes\u0027] instead of existing attempts_left algorithms.","commit_id":"945aacf498ac4aa309645e838d54d2cced02c37c"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"2de46f1c42e64d8827148a2bf111eec93f8fef9a","unresolved":false,"context_lines":[{"line_number":352,"context_line":"            # place it on before going to the next primary node. This is"},{"line_number":353,"context_line":"            # because hand_off_zone_affinity might be enabled, in which case"},{"line_number":354,"context_line":"            # we need to find a handoff node in the same zone as the failed"},{"line_number":355,"context_line":"            # primary node first."},{"line_number":356,"context_line":"            for primary_node in job[\u0027nodes\u0027]:"},{"line_number":357,"context_line":"                handoff_nodes \u003d iter_nodes_local_first("},{"line_number":358,"context_line":"                    job[\u0027policy\u0027].object_ring, int(job[\u0027partition\u0027]),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a41bdd9_8801923a","line":355,"in_reply_to":"9a41bdd9_b4ce3a2b","updated":"2015-07-15 07:50:31.000000000","message":"Yeah, totally understand that :) \n\nThis is quite a major change, and the reason I said I\u0027m sure there would be many iterations. There probably is a better way. So please consider deeply.. and this is changing a tried and true algorithm. Not sure I\u0027m completely happy with it. But the fact that we need to target specific handoffs related to a primary node that fails makes it problematic.","commit_id":"945aacf498ac4aa309645e838d54d2cced02c37c"}]}
