)]}'
{"networking_odl/tests/functional/base.py":[{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"2b5b9f42c672704739b97731fd3768aef2a90af6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # NOTE(yamahata): for functional test, timer isn\u0027t needed."},{"line_number":97,"context_line":"        # and if tearDown/setUp() is called during journal thread is running"},{"line_number":98,"context_line":"        # by timer, journal thread may be upset by sudden db transaction."},{"line_number":99,"context_line":"        mock.patch.object(journal.JournalPeriodicProcessor, \u0027_call_journal\u0027)"},{"line_number":100,"context_line":"        super(V2DriverAdjustment, self).setUp()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_odl_resource(self, resource_type, resource):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_25d33c06","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":76},"updated":"2017-08-16 21:30:13.000000000","message":"Nice catch!\nHow did you find it?\nNow JournalPeridodicProcessor is Neutron worker and test cases doesn\u0027t start workers unless they are explicitly started.\n\nSo can we drop the line 96-99 entirely?","commit_id":"5defd15f714edacb67cb0bf8b202f683572d982d"},{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"3e03c0115b7efcb2abc029fb069f5c75d84865de","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # NOTE(yamahata): for functional test, timer isn\u0027t needed."},{"line_number":97,"context_line":"        # and if tearDown/setUp() is called during journal thread is running"},{"line_number":98,"context_line":"        # by timer, journal thread may be upset by sudden db transaction."},{"line_number":99,"context_line":"        mock.patch.object(journal.JournalPeriodicProcessor, \u0027_call_journal\u0027)"},{"line_number":100,"context_line":"        super(V2DriverAdjustment, self).setUp()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def get_odl_resource(self, resource_type, resource):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f436f4f_3a7fcf66","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":76},"in_reply_to":"9f436f4f_25d33c06","updated":"2017-08-17 06:45:07.000000000","message":"\u003e How did you find it?\n\nI was debugging tracebacks appearing during the tests in the logs. Because functional testing in the CI was pseudo-randomly failing, at one point I started firing pdb and calling `import traceback; traceback.print_stack()` and following how the call stack was built. I discovered that this place acts as an entry point for the tests and since I\u0027ve been working on forcing full_sync [1], I remembered that \u0027_start_sync_timer\u0027 does not exist anymore.\n\nThe ordeal actually gave me the idea that we should add a CI task to read those logs and mark tracebacks that don\u0027t make a test fail (there are a lot more than we care to notice) and report for further review without failing the CI task altogether. Perhaps we could even include deprecation warnings in the task, so to catch possible failures early on.\n\n[1]: https://review.openstack.org/#/q/topic:feature_force_maintenance_task\n\n\u003e Now JournalPeridodicProcessor is Neutron worker and test cases doesn\u0027t start workers unless they are explicitly started.  \n\u003e \n\u003e So can we drop the line 96-99 entirely?\n\nWhy, yes, you are right. Let\u0027s drop them.","commit_id":"5defd15f714edacb67cb0bf8b202f683572d982d"}]}
