)]}'
{"cyborg/api/controllers/v2/arqs.py":[{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a83e6596d2a2a62c2262290e86c1893b085ef249","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":191,"context_line":"                else:"},{"line_number":192,"context_line":"                    for arq in new_arqs:"},{"line_number":193,"context_line":"                        if (arq[\u0027state\u0027] !\u003d \u0027Bound\u0027 and"},{"line_number":194,"context_line":"                                arq[\u0027state\u0027] !\u003d \u0027BindFailed\u0027):"},{"line_number":195,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":196,"context_line":"                            # if any ARQ for this instance is not resolved."}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_c4dd2540","line":193,"updated":"2020-01-15 15:24:15.000000000","message":"Better to use ARQ_BIND_STATES_STATUS_MAP.keys(), esp. with the change coming in [1].\n\n[1] https://review.opendev.org/#/c/698846/2/cyborg/common/constants.py","commit_id":"929729df73f42229ce54dd0d843f5304747da25b"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"f911d5dfef982e9cfbd30cc4e34a32fb90547309","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":191,"context_line":"                else:"},{"line_number":192,"context_line":"                    for arq in new_arqs:"},{"line_number":193,"context_line":"                        if (arq[\u0027state\u0027] !\u003d \u0027Bound\u0027 and"},{"line_number":194,"context_line":"                                arq[\u0027state\u0027] !\u003d \u0027BindFailed\u0027):"},{"line_number":195,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":196,"context_line":"                            # if any ARQ for this instance is not resolved."}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_a68f6c28","line":193,"in_reply_to":"3fa7e38b_c4dd2540","updated":"2020-04-09 02:52:37.000000000","message":"Done","commit_id":"929729df73f42229ce54dd0d843f5304747da25b"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":194,"context_line":"            unbound_flag \u003d False"},{"line_number":195,"context_line":"            for arq in arqs:"},{"line_number":196,"context_line":"                if (arq[\u0027state\u0027] !\u003d \u0027Bound\u0027 and"},{"line_number":197,"context_line":"                        arq[\u0027state\u0027] !\u003d \u0027BindFailed\u0027):"},{"line_number":198,"context_line":"                    unbound_flag \u003d True"},{"line_number":199,"context_line":"            if instance is not None and unbound_flag:"},{"line_number":200,"context_line":"                # if any ARQ for this instance is not resolved."}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_d084e560","side":"PARENT","line":197,"range":{"start_line":196,"start_character":15,"end_line":197,"end_character":54},"updated":"2020-04-09 06:44:52.000000000","message":"Yes, in nova we have three states [\u0027Bound\u0027, \u0027BindFailed\u0027, \u0027Deleting\u0027] [1], we need add the Deleting status condition.\n\n[1]https://opendev.org/openstack/nova/src/branch/master/nova/accelerator/cyborg.py#L264","commit_id":"37a6538baf991f4733768c228cf67b6829108d00"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        context \u003d pecan.request.context"},{"line_number":184,"context_line":"        extarqs \u003d objects.ExtARQ.list(context)"},{"line_number":185,"context_line":"        state_map \u003d constants.ARQ_BIND_STATES_STATUS_MAP"},{"line_number":186,"context_line":"        good_states \u003d list(state_map.keys())"},{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_fd8462d5","line":186,"range":{"start_line":186,"start_character":8,"end_line":186,"end_character":19},"updated":"2020-04-09 06:44:52.000000000","message":"This contains [\u0027Bound\u0027, \u0027BindFailed\u0027, \u0027Deleting\u0027], we cannot call this \"good_states\", maybe we can call \"bind_status\".","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b0c2a71eb7dcda0ecc561da0454e41ac66e55609","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        context \u003d pecan.request.context"},{"line_number":184,"context_line":"        extarqs \u003d objects.ExtARQ.list(context)"},{"line_number":185,"context_line":"        state_map \u003d constants.ARQ_BIND_STATES_STATUS_MAP"},{"line_number":186,"context_line":"        good_states \u003d list(state_map.keys())"},{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_90737d16","line":186,"range":{"start_line":186,"start_character":8,"end_line":186,"end_character":19},"in_reply_to":"df33271e_fd8462d5","updated":"2020-04-09 10:32:27.000000000","message":"Done","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"},{"line_number":198,"context_line":"                    for arq in new_arqs:"},{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_306711ec","line":196,"range":{"start_line":196,"start_character":36,"end_line":196,"end_character":51},"updated":"2020-04-09 06:44:52.000000000","message":"Need a negative tests case to test this Exception.","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b0c2a71eb7dcda0ecc561da0454e41ac66e55609","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"},{"line_number":198,"context_line":"                    for arq in new_arqs:"},{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_d09505e6","line":196,"range":{"start_line":196,"start_character":36,"end_line":196,"end_character":51},"in_reply_to":"df33271e_306711ec","updated":"2020-04-09 10:32:27.000000000","message":"Done","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                else:"},{"line_number":198,"context_line":"                    for arq in new_arqs:"},{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"},{"line_number":200,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            # Return HTTP code 423."},{"line_number":203,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_5041f538","line":200,"range":{"start_line":200,"start_character":30,"end_line":200,"end_character":34},"updated":"2020-04-09 06:44:52.000000000","message":"This is a NOTE not a TODO.","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b0c2a71eb7dcda0ecc561da0454e41ac66e55609","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                else:"},{"line_number":198,"context_line":"                    for arq in new_arqs:"},{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"},{"line_number":200,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            # Return HTTP code 423."},{"line_number":203,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_5056155e","line":200,"range":{"start_line":200,"start_character":30,"end_line":200,"end_character":34},"in_reply_to":"df33271e_5041f538","updated":"2020-04-09 10:32:27.000000000","message":"Done","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"},{"line_number":200,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            # Return HTTP code 423."},{"line_number":203,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"},{"line_number":204,"context_line":"                            return wsme.api.Response("},{"line_number":205,"context_line":"                                None,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_bdf5ba59","line":202,"range":{"start_line":202,"start_character":27,"end_line":202,"end_character":51},"updated":"2020-04-09 06:44:52.000000000","message":"redundant.","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b0c2a71eb7dcda0ecc561da0454e41ac66e55609","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in good_states:"},{"line_number":200,"context_line":"                            # TODO(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            # Return HTTP code 423."},{"line_number":203,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"},{"line_number":204,"context_line":"                            return wsme.api.Response("},{"line_number":205,"context_line":"                                None,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_904c1dc9","line":202,"range":{"start_line":202,"start_character":27,"end_line":202,"end_character":51},"in_reply_to":"df33271e_bdf5ba59","updated":"2020-04-09 10:32:27.000000000","message":"removed","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e375b61ab602dbadb3edb6810140f59415eb34ff","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":209,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":210,"context_line":"            else:"},{"line_number":211,"context_line":"                new_arqs \u003d [arq for arq in arqs"},{"line_number":212,"context_line":"                            if arq[\u0027state\u0027] in good_states]"},{"line_number":213,"context_line":"                arqs \u003d new_arqs"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_705d1914","line":211,"range":{"start_line":211,"start_character":16,"end_line":211,"end_character":24},"updated":"2020-04-09 06:44:52.000000000","message":"We can directly to use \"arqs \u003d ...\"","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"b0c2a71eb7dcda0ecc561da0454e41ac66e55609","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":209,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":210,"context_line":"            else:"},{"line_number":211,"context_line":"                new_arqs \u003d [arq for arq in arqs"},{"line_number":212,"context_line":"                            if arq[\u0027state\u0027] in good_states]"},{"line_number":213,"context_line":"                arqs \u003d new_arqs"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_70f7d95a","line":211,"range":{"start_line":211,"start_character":16,"end_line":211,"end_character":24},"in_reply_to":"df33271e_705d1914","updated":"2020-04-09 10:32:27.000000000","message":"Done","commit_id":"2e9a742c16e2315d8df2525a2aa41ead3e692dcb"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a58632a6ed66207f026b2eb990b41ea6b6e6350a","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":194,"context_line":"            unbound_flag \u003d False"},{"line_number":195,"context_line":"            for arq in arqs:"},{"line_number":196,"context_line":"                if (arq[\u0027state\u0027] !\u003d \u0027Bound\u0027 and"},{"line_number":197,"context_line":"                        arq[\u0027state\u0027] !\u003d \u0027BindFailed\u0027):"},{"line_number":198,"context_line":"                    unbound_flag \u003d True"},{"line_number":199,"context_line":"            if instance is not None and unbound_flag:"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_ed0adacf","side":"PARENT","line":196,"updated":"2020-04-10 00:38:36.000000000","message":"We only need to change this to check for valid_bind_states, AFAICS.","commit_id":"ca283d0266b3c1703d1c7f0ee9e3a6bce4804999"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a58632a6ed66207f026b2eb990b41ea6b6e6350a","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":192,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_6d71aa76","line":194,"updated":"2020-04-10 00:38:36.000000000","message":"Why is this code segment changed? Under what combination of instance and bind_state will this produce a different output? \n\nThis change contains repetitive code to raise the same exception for the same condition.\n\nI think the only change needed is to test for valid_bind_states.","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"90f73a1b5ce1e2ea7eff5fd79a13b61c29e5000b","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":192,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_ed2779c6","line":194,"in_reply_to":"df33271e_6d71aa76","updated":"2020-04-10 03:27:44.000000000","message":"\u003e Why is this code segment changed? Under what combination of\n \u003e instance and bind_state will this produce a different output?\n\nMaybe we should add a case to conver this scenario.\n\n \u003e \n \u003e This change contains repetitive code to raise the same exception for the same condition.\n\n+1\n\n \u003e I think the only change needed is to test for valid_bind_states.\n\nI have also considered the generation of code segment changes here. It seems that this is not necessary. What we lack is the consistency of the device binding state when interacting with nova-cyborg.","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"6389b0fc45ed22108b4e85d5df9949a9320e76f5","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":192,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f423b7e_cd497533","line":194,"in_reply_to":"df33271e_6d71aa76","updated":"2020-04-11 07:09:35.000000000","message":"This change added a missing case where \"instance is none and bind_state\u003dresolved\". \nWe can check bound arqs for a certain instance for nova use, but cannot check bound arqs for all instances. operators may want to see that since this is a very quick way to check all bound accelerators.","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"6389b0fc45ed22108b4e85d5df9949a9320e76f5","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":192,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":193,"context_line":"            arqs \u003d new_arqs"},{"line_number":194,"context_line":"            if bind_state is not None:"},{"line_number":195,"context_line":"                if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":196,"context_line":"                    raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":197,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f423b7e_0d023db5","line":194,"in_reply_to":"df33271e_ed2779c6","updated":"2020-04-11 07:09:35.000000000","message":"At the time when the patch was submitted, we not yet consider the binding state inconsistency things. And now when we reconsider the patch, I think the missing case and the test case are still necessary. \nAs for the inconsistency of the device binding state, what do you mean by it? If necessary, Can you create a story to describe it more detailly in the cyborg storyboard?","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a58632a6ed66207f026b2eb990b41ea6b6e6350a","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in valid_bind_states:"},{"line_number":200,"context_line":"                            # NOTE(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"},{"line_number":203,"context_line":"                            return wsme.api.Response("},{"line_number":204,"context_line":"                                None,"},{"line_number":205,"context_line":"                                status_code\u003dhttp_client.LOCKED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_8df98ec9","line":202,"updated":"2020-04-10 00:38:36.000000000","message":"It is indeed 423 in the next line. Why does the log say it should be 423?","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"6389b0fc45ed22108b4e85d5df9949a9320e76f5","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                        if arq[\u0027state\u0027] not in valid_bind_states:"},{"line_number":200,"context_line":"                            # NOTE(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            LOG.warning(\u0027HTTP Response should be 423\u0027)"},{"line_number":203,"context_line":"                            return wsme.api.Response("},{"line_number":204,"context_line":"                                None,"},{"line_number":205,"context_line":"                                status_code\u003dhttp_client.LOCKED)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f423b7e_2d3299a8","line":202,"in_reply_to":"df33271e_8df98ec9","updated":"2020-04-11 07:09:35.000000000","message":"Done. modified the log warning.","commit_id":"41c9fe86ae82f6c84e9efeff3eecccaa1fce7fee"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"ad38f30d3b56c935d935d9d9ed9d398cdf218b1b","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                            # NOTE(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            LOG.warning(\u0027Some of ARQs for instance %s is not\u0027"},{"line_number":203,"context_line":"                                        \u0027resolved\u0027, instance)"},{"line_number":204,"context_line":"                            return wsme.api.Response("},{"line_number":205,"context_line":"                                None,"},{"line_number":206,"context_line":"                                status_code\u003dhttp_client.LOCKED)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7f423b7e_4dbd6567","line":203,"range":{"start_line":203,"start_character":40,"end_line":203,"end_character":41},"updated":"2020-04-11 09:05:35.000000000","message":"need space.","commit_id":"9e5de71347d02f420237e91619cfe1012599980a"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"a810c0411eec96de52f85532ff15e181302b059f","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                            # NOTE(Sundar) This should return HTTP code 423"},{"line_number":201,"context_line":"                            # if any ARQ for this instance is not resolved."},{"line_number":202,"context_line":"                            LOG.warning(\u0027Some of ARQs for instance %s is not\u0027"},{"line_number":203,"context_line":"                                        \u0027resolved\u0027, instance)"},{"line_number":204,"context_line":"                            return wsme.api.Response("},{"line_number":205,"context_line":"                                None,"},{"line_number":206,"context_line":"                                status_code\u003dhttp_client.LOCKED)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f4c43b2_638e7128","line":203,"range":{"start_line":203,"start_character":40,"end_line":203,"end_character":41},"in_reply_to":"7f423b7e_4dbd6567","updated":"2020-04-13 02:24:20.000000000","message":"Done","commit_id":"9e5de71347d02f420237e91619cfe1012599980a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bc827f7fca8ef7668b89e3920209f4561430ee13","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                        return wsme.api.Response("},{"line_number":205,"context_line":"                            None,"},{"line_number":206,"context_line":"                            status_code\u003dhttp_client.LOCKED)"},{"line_number":207,"context_line":"        if instance is None and bind_state is not None:"},{"line_number":208,"context_line":"            arqs \u003d [arq for arq in arqs"},{"line_number":209,"context_line":"                    if arq[\u0027state\u0027] in valid_bind_states]"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        ret \u003d ARQCollection.convert_with_links(arqs)"},{"line_number":212,"context_line":"        LOG.info(\u0027[arqs:get_all] Returned: %s\u0027, ret)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_1a753196","line":209,"range":{"start_line":207,"start_character":0,"end_line":209,"end_character":57},"updated":"2020-04-14 11:15:35.000000000","message":"Is this can be done by below?\n        else:\n            if bind_state:\n                arqs \u003d [arq for arq in arqs\n                        if arq[\u0027state\u0027] in valid_bind_states]","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"163be3ec99528b2048b93b1398cafa7c433d8e31","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                        return wsme.api.Response("},{"line_number":205,"context_line":"                            None,"},{"line_number":206,"context_line":"                            status_code\u003dhttp_client.LOCKED)"},{"line_number":207,"context_line":"        if instance is None and bind_state is not None:"},{"line_number":208,"context_line":"            arqs \u003d [arq for arq in arqs"},{"line_number":209,"context_line":"                    if arq[\u0027state\u0027] in valid_bind_states]"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        ret \u003d ARQCollection.convert_with_links(arqs)"},{"line_number":212,"context_line":"        LOG.info(\u0027[arqs:get_all] Returned: %s\u0027, ret)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_9532b2f0","line":209,"range":{"start_line":207,"start_character":0,"end_line":209,"end_character":57},"in_reply_to":"3f4c43b2_1a753196","updated":"2020-04-14 11:30:26.000000000","message":"we can use elif bind_state: if you prefer else here. \nsince\n[if a:\n    do this\nelif b:\n    do that] is exactly the same as\n[if a:\n    do this\nif (not a) and b:\n    do that]","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ab6157746904143e3ba5157c29afc6fee6959af7","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                        return wsme.api.Response("},{"line_number":205,"context_line":"                            None,"},{"line_number":206,"context_line":"                            status_code\u003dhttp_client.LOCKED)"},{"line_number":207,"context_line":"        if instance is None and bind_state is not None:"},{"line_number":208,"context_line":"            arqs \u003d [arq for arq in arqs"},{"line_number":209,"context_line":"                    if arq[\u0027state\u0027] in valid_bind_states]"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        ret \u003d ARQCollection.convert_with_links(arqs)"},{"line_number":212,"context_line":"        LOG.info(\u0027[arqs:get_all] Returned: %s\u0027, ret)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_753e062a","line":209,"range":{"start_line":207,"start_character":0,"end_line":209,"end_character":57},"in_reply_to":"3f4c43b2_9532b2f0","updated":"2020-04-14 11:48:55.000000000","message":"I prefer to use \"else:\" instead of \"if instance is None\", because of instance is either None or not. Let Sundar check again, after his check, I will change my vote to +2 or +W.","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"864101a933636f47a331b6e171a594b01602709d","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."},{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_f5bdf668","line":190,"range":{"start_line":190,"start_character":8,"end_line":190,"end_character":34},"updated":"2020-04-14 11:51:00.000000000","message":"We can just use s/if bind_state:/if bind_state is not None:/","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"063e58b2dcd19208203d4ade0e4e58f3877781e9","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."},{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_40b4c335","line":190,"range":{"start_line":190,"start_character":8,"end_line":190,"end_character":34},"in_reply_to":"3f4c43b2_27c29586","updated":"2020-04-16 03:54:36.000000000","message":"Indeed, we can simple this code, and will be improved the codes readability.","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e974e7edb492f6bec1c8476f716cc3b3b20aaad2","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."},{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_20aff7e3","line":190,"range":{"start_line":190,"start_character":8,"end_line":190,"end_character":34},"in_reply_to":"3f4c43b2_27c29586","updated":"2020-04-16 03:54:30.000000000","message":"There would be a difference in meaning if bind_state can be \"\". But the default here is None. So, I think:\n\n   if bind_state:\n\nis good enough.","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"d960b7b4e65d494b03746a0a9100d5b3869e8a64","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."},{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_8684240e","line":190,"range":{"start_line":190,"start_character":8,"end_line":190,"end_character":34},"in_reply_to":"3f4c43b2_40b4c335","updated":"2020-04-16 06:32:09.000000000","message":"Done","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"773f1e2191b15274d51a6bd74eb5452c12225ead","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        arqs \u003d [extarq.arq for extarq in extarqs]"},{"line_number":188,"context_line":"        # TODO(Sundar): Optimize by doing the filtering in the db layer"},{"line_number":189,"context_line":"        # Apply instance filter before state filter."},{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_27c29586","line":190,"range":{"start_line":190,"start_character":8,"end_line":190,"end_character":34},"in_reply_to":"3f4c43b2_f5bdf668","updated":"2020-04-14 12:06:02.000000000","message":"Let\u0027s wait for Sundar\u0027s feedback. I\u0027m fine with either one.","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"45815671001deb896fc1c3894e1c0b7cfe1c7edc","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"},{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_c783f155","line":193,"range":{"start_line":193,"start_character":8,"end_line":193,"end_character":31},"updated":"2020-04-14 12:03:24.000000000","message":"s/if instance/if instance is not None/","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"d960b7b4e65d494b03746a0a9100d5b3869e8a64","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"},{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_c67d8c1d","line":193,"range":{"start_line":193,"start_character":8,"end_line":193,"end_character":31},"in_reply_to":"3f4c43b2_60b9ff2c","updated":"2020-04-16 06:32:09.000000000","message":"Done","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e974e7edb492f6bec1c8476f716cc3b3b20aaad2","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"},{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_60b9ff2c","line":193,"range":{"start_line":193,"start_character":8,"end_line":193,"end_character":31},"in_reply_to":"3f4c43b2_c783f155","updated":"2020-04-16 03:54:30.000000000","message":"Ditto","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"d960b7b4e65d494b03746a0a9100d5b3869e8a64","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if bind_state is not None:"},{"line_number":191,"context_line":"            if bind_state !\u003d \u0027resolved\u0027:"},{"line_number":192,"context_line":"                raise exception.ARQInvalidState(state\u003dbind_state)"},{"line_number":193,"context_line":"        if instance is not None:"},{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_66875811","line":193,"range":{"start_line":193,"start_character":8,"end_line":193,"end_character":31},"in_reply_to":"3f4c43b2_c783f155","updated":"2020-04-16 06:32:09.000000000","message":"Done","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"864101a933636f47a331b6e171a594b01602709d","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"},{"line_number":197,"context_line":"            if bind_state is not None:"},{"line_number":198,"context_line":"                for arq in new_arqs:"},{"line_number":199,"context_line":"                    if arq[\u0027state\u0027] not in valid_bind_states:"},{"line_number":200,"context_line":"                        # NOTE(Sundar) This should return HTTP code 423"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_15bd0265","line":197,"range":{"start_line":197,"start_character":12,"end_line":197,"end_character":38},"updated":"2020-04-14 11:51:00.000000000","message":"ditto","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"d960b7b4e65d494b03746a0a9100d5b3869e8a64","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            new_arqs \u003d [arq for arq in arqs"},{"line_number":195,"context_line":"                        if arq[\u0027instance_uuid\u0027] \u003d\u003d instance]"},{"line_number":196,"context_line":"            arqs \u003d new_arqs"},{"line_number":197,"context_line":"            if bind_state is not None:"},{"line_number":198,"context_line":"                for arq in new_arqs:"},{"line_number":199,"context_line":"                    if arq[\u0027state\u0027] not in valid_bind_states:"},{"line_number":200,"context_line":"                        # NOTE(Sundar) This should return HTTP code 423"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_a678402b","line":197,"range":{"start_line":197,"start_character":12,"end_line":197,"end_character":38},"in_reply_to":"3f4c43b2_15bd0265","updated":"2020-04-16 06:32:09.000000000","message":"Done","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"864101a933636f47a331b6e171a594b01602709d","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                        return wsme.api.Response("},{"line_number":205,"context_line":"                            None,"},{"line_number":206,"context_line":"                            status_code\u003dhttp_client.LOCKED)"},{"line_number":207,"context_line":"        elif bind_state is not None:"},{"line_number":208,"context_line":"            arqs \u003d [arq for arq in arqs"},{"line_number":209,"context_line":"                    if arq[\u0027state\u0027] in valid_bind_states]"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_55ae6a2e","line":207,"range":{"start_line":207,"start_character":13,"end_line":207,"end_character":35},"updated":"2020-04-14 11:51:00.000000000","message":"ditto","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"d960b7b4e65d494b03746a0a9100d5b3869e8a64","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                        return wsme.api.Response("},{"line_number":205,"context_line":"                            None,"},{"line_number":206,"context_line":"                            status_code\u003dhttp_client.LOCKED)"},{"line_number":207,"context_line":"        elif bind_state is not None:"},{"line_number":208,"context_line":"            arqs \u003d [arq for arq in arqs"},{"line_number":209,"context_line":"                    if arq[\u0027state\u0027] in valid_bind_states]"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f4c43b2_06781428","line":207,"range":{"start_line":207,"start_character":13,"end_line":207,"end_character":35},"in_reply_to":"3f4c43b2_55ae6a2e","updated":"2020-04-16 06:32:09.000000000","message":"Done","commit_id":"7503943810bdddb3ecbba9bb7d4503ff41d1a465"}],"cyborg/tests/unit/api/controllers/v2/test_arqs.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bc827f7fca8ef7668b89e3920209f4561430ee13","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        exc \u003d None"},{"line_number":90,"context_line":"        try:"},{"line_number":91,"context_line":"            self.get_json(url, headers\u003dself.headers)"},{"line_number":92,"context_line":"        except Exception as e:"},{"line_number":93,"context_line":"            exc \u003d e"},{"line_number":94,"context_line":"        # TODO(all) Cyborg does not have fake HTTPRequest Object now, so just"},{"line_number":95,"context_line":"        # use assertIn here, improve this case with assertRaises later."}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_fafe8503","line":92,"range":{"start_line":92,"start_character":15,"end_line":92,"end_character":24},"updated":"2020-04-14 11:15:35.000000000","message":"Can we use \"exception.ARQInvalidState\" instead of \"Exception\"?","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ab6157746904143e3ba5157c29afc6fee6959af7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        exc \u003d None"},{"line_number":90,"context_line":"        try:"},{"line_number":91,"context_line":"            self.get_json(url, headers\u003dself.headers)"},{"line_number":92,"context_line":"        except Exception as e:"},{"line_number":93,"context_line":"            exc \u003d e"},{"line_number":94,"context_line":"        # TODO(all) Cyborg does not have fake HTTPRequest Object now, so just"},{"line_number":95,"context_line":"        # use assertIn here, improve this case with assertRaises later."}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_15b062f4","line":92,"range":{"start_line":92,"start_character":15,"end_line":92,"end_character":24},"in_reply_to":"3f4c43b2_3a358d47","updated":"2020-04-14 11:48:55.000000000","message":"Ok, that Exception does not format to exception self-defined.\nLike this:\n\nAppError(\u0027Bad response: 500 Internal Server Error (not 200 OK or 3xx redirect for http://localhost/v2/accelerator_requests?bind_state\u003dstarted)\\nb\\\u0027{\"error_message\": \"{\\\\\\\\\"faultcode\\\\\\\\\": \\\\\\\\\"Server\\\\\\\\\", \\\\\\\\\"faultstring\\\\\\\\\": \\\\\\\\\"Accelerator Requests cannot be requested with state started.\\\\\\\\\", \\\\\\\\\"debuginfo\\\\\\\\\": null}\"}\\\u0027\u0027,)","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"163be3ec99528b2048b93b1398cafa7c433d8e31","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        exc \u003d None"},{"line_number":90,"context_line":"        try:"},{"line_number":91,"context_line":"            self.get_json(url, headers\u003dself.headers)"},{"line_number":92,"context_line":"        except Exception as e:"},{"line_number":93,"context_line":"            exc \u003d e"},{"line_number":94,"context_line":"        # TODO(all) Cyborg does not have fake HTTPRequest Object now, so just"},{"line_number":95,"context_line":"        # use assertIn here, improve this case with assertRaises later."}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_3a358d47","line":92,"range":{"start_line":92,"start_character":15,"end_line":92,"end_character":24},"in_reply_to":"3f4c43b2_fafe8503","updated":"2020-04-14 11:30:26.000000000","message":"I was trying to use exception.ARQInvalidState with assertRaises, but found we had some technical debts, so use Exception instead to check the error message.","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bc827f7fca8ef7668b89e3920209f4561430ee13","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        exc \u003d None"},{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            self.get_json(url, headers\u003dself.headers)"},{"line_number":104,"context_line":"        except Exception as e:"},{"line_number":105,"context_line":"            exc \u003d e"},{"line_number":106,"context_line":"        # TODO(all) Cyborg does not have fake HTTPRequest Object now, so just"},{"line_number":107,"context_line":"        # use assertIn here, improve this case with assertRaises later."}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_9a32e1f0","line":104,"range":{"start_line":104,"start_character":15,"end_line":104,"end_character":24},"updated":"2020-04-14 11:15:35.000000000","message":"ditto","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"163be3ec99528b2048b93b1398cafa7c433d8e31","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        exc \u003d None"},{"line_number":102,"context_line":"        try:"},{"line_number":103,"context_line":"            self.get_json(url, headers\u003dself.headers)"},{"line_number":104,"context_line":"        except Exception as e:"},{"line_number":105,"context_line":"            exc \u003d e"},{"line_number":106,"context_line":"        # TODO(all) Cyborg does not have fake HTTPRequest Object now, so just"},{"line_number":107,"context_line":"        # use assertIn here, improve this case with assertRaises later."}],"source_content_type":"text/x-python","patch_set":15,"id":"3f4c43b2_dacbc91b","line":104,"range":{"start_line":104,"start_character":15,"end_line":104,"end_character":24},"in_reply_to":"3f4c43b2_9a32e1f0","updated":"2020-04-14 11:30:26.000000000","message":"ditto","commit_id":"c5b8a52a9c3ae5ac3239a74af0f19dfd410e85e2"}]}
