)]}'
{"networking_odl/journal/journal.py":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"ee7dc48ab7db0b0bcc234230c946f7ffc2b98b2f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        with self._lock:"},{"line_number":122,"context_line":"            if self._timer is not None:"},{"line_number":123,"context_line":"                self._timer.cancel()"},{"line_number":124,"context_line":"                self._start_sync_timer()"},{"line_number":125,"context_line":"            self._awaken \u003d True"},{"line_number":126,"context_line":"            self._cond.notify()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_77e19e9a","line":124,"range":{"start_line":124,"start_character":21,"end_line":124,"end_character":39},"updated":"2017-05-30 15:54:07.000000000","message":"shouldn\u0027t it be the _init_sync_timer() ?? otherwise I don\u0027t see it is used anywhere","commit_id":"f9bcd0041580bb9c3e3350c19c45ed2fcdaeed39"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"5b4b67639a10acedc9a66c1358588bb036d1bd89","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        with self._lock:"},{"line_number":122,"context_line":"            if self._timer is not None:"},{"line_number":123,"context_line":"                self._timer.cancel()"},{"line_number":124,"context_line":"                self._start_sync_timer()"},{"line_number":125,"context_line":"            self._awaken \u003d True"},{"line_number":126,"context_line":"            self._cond.notify()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_78faab42","line":124,"range":{"start_line":124,"start_character":21,"end_line":124,"end_character":39},"in_reply_to":"df140735_77e19e9a","updated":"2017-05-30 17:23:48.000000000","message":"no. this should be _start_sync_timer because lock is already held.\n_init_sync_timer is used by line 107.","commit_id":"f9bcd0041580bb9c3e3350c19c45ed2fcdaeed39"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b4035564cd4cae998d06214674db9dc32e0ea8b6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        with self._lock:"},{"line_number":122,"context_line":"            if self._timer is not None:"},{"line_number":123,"context_line":"                self._timer.cancel()"},{"line_number":124,"context_line":"                self._start_sync_timer()"},{"line_number":125,"context_line":"            self._awaken \u003d True"},{"line_number":126,"context_line":"            self._cond.notify()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_93a2214b","line":124,"range":{"start_line":124,"start_character":21,"end_line":124,"end_character":39},"in_reply_to":"df140735_78faab42","updated":"2017-06-07 09:18:14.000000000","message":"If it were reentrant lock you wouldn\u0027t need the two methods right?\n\nAlso what I gather is that in case of an event the timer will get started anyway contradicting the purpose of the patch so that for example in a server with N api workers, the root process runs the timer but then once any of the N workers gets and processes a resource that\u0027s handled by ODL then the timer will start running in that process as well..","commit_id":"f9bcd0041580bb9c3e3350c19c45ed2fcdaeed39"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"798f4e2024a3a5d50b59fcf77c20f7968504eed7","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        with self._lock:"},{"line_number":122,"context_line":"            if self._timer is not None:"},{"line_number":123,"context_line":"                self._timer.cancel()"},{"line_number":124,"context_line":"                self._start_sync_timer()"},{"line_number":125,"context_line":"            self._awaken \u003d True"},{"line_number":126,"context_line":"            self._cond.notify()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_e7348ffd","line":124,"range":{"start_line":124,"start_character":21,"end_line":124,"end_character":39},"in_reply_to":"df140735_93a2214b","updated":"2017-06-24 00:56:49.000000000","message":"changed Lock to RLock.\n\nThat\u0027s fine. The intention is to reduce the frequency of timer wakeup. running timer in main process is okay even when rpc worker is processing journal.","commit_id":"f9bcd0041580bb9c3e3350c19c45ed2fcdaeed39"}]}
