)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"184f0113dcd3887a20f320119f6d63fa8de25f13","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Only filter/weigh hosts once if scheduling a single instance"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If we\u0027re only scheduling for a single instance, we don\u0027t need"},{"line_number":10,"context_line":"filter and weigh hosts another time before picking alternates"},{"line_number":11,"context_line":"because the single selected host for the single instance can\u0027t"},{"line_number":12,"context_line":"be in the list of filtered/weighed alternates anyway."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_fd7652a4","line":10,"range":{"start_line":10,"start_character":1,"end_line":10,"end_character":6},"updated":"2017-10-23 16:14:16.000000000","message":"to filter\n\nI know it is hilarious for me to be noticing  typos in commit messages, but there it is.","commit_id":"fb8109fc920a0993746656253bf40d0c61c2ac45"}],"nova/scheduler/filter_scheduler.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0c75e0baf6e43d79847285cc7146a3c173be6d0f","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                             num_to_return):"},{"line_number":355,"context_line":"        # We only need to filter/weigh the hosts again if we\u0027re dealing with"},{"line_number":356,"context_line":"        # more than one instance since the single selected host will get"},{"line_number":357,"context_line":"        # filtered out of the list of alternates below."},{"line_number":358,"context_line":"        if index \u003e 0:"},{"line_number":359,"context_line":"            # The selected_hosts have all had resources \u0027claimed\u0027 via"},{"line_number":360,"context_line":"            # _consume_selected_host, so we need to filter/weigh and sort the"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_ca1c8079","line":357,"range":{"start_line":357,"start_character":9,"end_line":357,"end_character":55},"updated":"2017-10-26 21:03:26.000000000","message":"where exactly below does the single selected host get \"filtered out of the list of alternates\"? I don\u0027t see that..","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"20819f09fc9ed69718c0f973744a6135a214c563","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                             num_to_return):"},{"line_number":355,"context_line":"        # We only need to filter/weigh the hosts again if we\u0027re dealing with"},{"line_number":356,"context_line":"        # more than one instance since the single selected host will get"},{"line_number":357,"context_line":"        # filtered out of the list of alternates below."},{"line_number":358,"context_line":"        if index \u003e 0:"},{"line_number":359,"context_line":"            # The selected_hosts have all had resources \u0027claimed\u0027 via"},{"line_number":360,"context_line":"            # _consume_selected_host, so we need to filter/weigh and sort the"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_adf14598","line":357,"range":{"start_line":357,"start_character":9,"end_line":357,"end_character":55},"in_reply_to":"3f4b6375_4a1d1772","updated":"2017-10-27 17:27:48.000000000","message":"doh, yep, thanks.","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"10d0dda0695f4727b4ee99b2f37ba1fac116d0cd","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                             num_to_return):"},{"line_number":355,"context_line":"        # We only need to filter/weigh the hosts again if we\u0027re dealing with"},{"line_number":356,"context_line":"        # more than one instance since the single selected host will get"},{"line_number":357,"context_line":"        # filtered out of the list of alternates below."},{"line_number":358,"context_line":"        if index \u003e 0:"},{"line_number":359,"context_line":"            # The selected_hosts have all had resources \u0027claimed\u0027 via"},{"line_number":360,"context_line":"            # _consume_selected_host, so we need to filter/weigh and sort the"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_4a1d1772","line":357,"range":{"start_line":357,"start_character":9,"end_line":357,"end_character":55},"in_reply_to":"3f4b6375_ca1c8079","updated":"2017-10-27 17:06:23.000000000","message":"Line 382","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0c75e0baf6e43d79847285cc7146a3c173be6d0f","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            # if there are not enough hosts to fully populate the alternates,"},{"line_number":375,"context_line":"            # it\u0027s fine to return fewer than we\u0027d like. Note that we exclude"},{"line_number":376,"context_line":"            # any claimed host from consideration as an alternate because it"},{"line_number":377,"context_line":"            # will have had its resources reduced and will have a much lower"},{"line_number":378,"context_line":"            # chance of being able to fit another instance on it."},{"line_number":379,"context_line":"            for host in hosts:"},{"line_number":380,"context_line":"                if len(selected_plus_alts) \u003e\u003d num_to_return:"},{"line_number":381,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_ca336013","line":378,"range":{"start_line":377,"start_character":54,"end_line":378,"end_character":65},"updated":"2017-10-26 21:03:26.000000000","message":"not sure I agree with this comment, but ok...","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"20819f09fc9ed69718c0f973744a6135a214c563","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            # if there are not enough hosts to fully populate the alternates,"},{"line_number":375,"context_line":"            # it\u0027s fine to return fewer than we\u0027d like. Note that we exclude"},{"line_number":376,"context_line":"            # any claimed host from consideration as an alternate because it"},{"line_number":377,"context_line":"            # will have had its resources reduced and will have a much lower"},{"line_number":378,"context_line":"            # chance of being able to fit another instance on it."},{"line_number":379,"context_line":"            for host in hosts:"},{"line_number":380,"context_line":"                if len(selected_plus_alts) \u003e\u003d num_to_return:"},{"line_number":381,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_cd392140","line":378,"range":{"start_line":377,"start_character":54,"end_line":378,"end_character":65},"in_reply_to":"3f4b6375_8d456946","updated":"2017-10-27 17:27:48.000000000","message":"\u003e For any of the alternate hosts, there is a small but nonzero chance\n \u003e that another request may have consumed some of its resources before\n \u003e it is used in a retry, which would cause the retry to fail.\n\nIt would only fail if the host\u0027s capacity had been fully depleted. All I was saying is that \"will have a much lower chance\" thing was a bit exaggerated, but it\u0027s cool...","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"10d0dda0695f4727b4ee99b2f37ba1fac116d0cd","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            # if there are not enough hosts to fully populate the alternates,"},{"line_number":375,"context_line":"            # it\u0027s fine to return fewer than we\u0027d like. Note that we exclude"},{"line_number":376,"context_line":"            # any claimed host from consideration as an alternate because it"},{"line_number":377,"context_line":"            # will have had its resources reduced and will have a much lower"},{"line_number":378,"context_line":"            # chance of being able to fit another instance on it."},{"line_number":379,"context_line":"            for host in hosts:"},{"line_number":380,"context_line":"                if len(selected_plus_alts) \u003e\u003d num_to_return:"},{"line_number":381,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_8d456946","line":378,"range":{"start_line":377,"start_character":54,"end_line":378,"end_character":65},"in_reply_to":"3f4b6375_ca336013","updated":"2017-10-27 17:06:23.000000000","message":"For any of the alternate hosts, there is a small but nonzero chance that another request may have consumed some of its resources before it is used in a retry, which would cause the retry to fail. To add a claimed host to the alternates would mean that that alternate has a 100% chance of something consuming its resources before the retry occurs, since those resources have already been claimed. So in order to ensure that the alternates are as viable as possible, it makes sense to exclude the claimed hosts from them.","commit_id":"990d8ea3e8ce5a6f88130d6b453d28d01b192c25"}]}
