)]}'
{"storlets/agent/common/server.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"09f53805323dafb4169481d572fcec7e02071df2","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.logger.info(\"SIGTERM received\")"},{"line_number":167,"context_line":"        self.running \u003d False"},{"line_number":168,"context_line":"        # ignore SIGTERM coming again"},{"line_number":169,"context_line":"        signal.signal(signal.SIGTERM, signal.SIG_IGN)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def main_loop(self):"},{"line_number":172,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"ff570b3c_583aafcb","line":169,"updated":"2020-05-16 02:42:26.000000000","message":"Should we ignore this, or return to default behavior? I might prefer the latter so I could try a second TERM before resorting to KILL... That\u0027s certainly what I\u0027ve come to expect from INT with other programs, anyway.","commit_id":"83597a7e0ecb6892f358a008afdac49783ee1d8e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9fc96476f48a4e11c46b5e60ed53fb1cbf34d8c6","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.logger.info(\"SIGTERM received\")"},{"line_number":167,"context_line":"        self.running \u003d False"},{"line_number":168,"context_line":"        # ignore SIGTERM coming again"},{"line_number":169,"context_line":"        signal.signal(signal.SIGTERM, signal.SIG_IGN)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def main_loop(self):"},{"line_number":172,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"9f560f44_a12f62f4","line":169,"in_reply_to":"ff570b3c_583aafcb","updated":"2020-09-06 10:58:39.000000000","message":"Actually I implemented this based on the existing implementation in swift.\n\nHowever now it makes more sense to me to keep the handler in our case, because there are no specific cleanup implemented in handler but just flag management, and it should be harmless  even if this handler is called multiple times.","commit_id":"83597a7e0ecb6892f358a008afdac49783ee1d8e"}],"storlets/agent/daemon/server.py":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"cba47f849d7ed2c2c15d63fcd47c87f528007f20","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        pid \u003d self.task_id_to_pid.get(task_id)"},{"line_number":223,"context_line":"        try:"},{"line_number":224,"context_line":"            os.kill(pid, signal.SIGKILL)"},{"line_number":225,"context_line":"            self._remove_pid(pid)"},{"line_number":226,"context_line":"            return CommandSuccess(\u0027Cancelled task %s\u0027 % task_id, False)"},{"line_number":227,"context_line":"        except OSError:"}],"source_content_type":"text/x-python","patch_set":37,"id":"b6f601b1_82d99fd7","line":224,"updated":"2021-08-20 05:21:30.000000000","message":"Is this safe for any case?","commit_id":"33c403e14b6b0207c8c2e8dd96504b751852cfde"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"42889c9334190b3e7bfa745cf06b542fe781baa8","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        pid \u003d self.task_id_to_pid.get(task_id)"},{"line_number":223,"context_line":"        try:"},{"line_number":224,"context_line":"            os.kill(pid, signal.SIGKILL)"},{"line_number":225,"context_line":"            self._remove_pid(pid)"},{"line_number":226,"context_line":"            return CommandSuccess(\u0027Cancelled task %s\u0027 % task_id, False)"},{"line_number":227,"context_line":"        except OSError:"}],"source_content_type":"text/x-python","patch_set":37,"id":"b50e92fe_43781d61","line":224,"in_reply_to":"5c835b84_e15b2c5d","updated":"2021-08-30 05:57:50.000000000","message":"Done","commit_id":"33c403e14b6b0207c8c2e8dd96504b751852cfde"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9216f7156a4207442f87b6a6e539e18a9fe44388","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        pid \u003d self.task_id_to_pid.get(task_id)"},{"line_number":223,"context_line":"        try:"},{"line_number":224,"context_line":"            os.kill(pid, signal.SIGKILL)"},{"line_number":225,"context_line":"            self._remove_pid(pid)"},{"line_number":226,"context_line":"            return CommandSuccess(\u0027Cancelled task %s\u0027 % task_id, False)"},{"line_number":227,"context_line":"        except OSError:"}],"source_content_type":"text/x-python","patch_set":37,"id":"5c835b84_e15b2c5d","line":224,"in_reply_to":"b6f601b1_82d99fd7","updated":"2021-08-20 13:04:17.000000000","message":"I believe so this operation is cancel so we expect the process is immediately stops.\nActually we trigger this cancel operation when the middleware times out during reading data from agent side and the middleware no longer consumes data from middleware in that case.\n\nIIUC we have not implemented signal handler for SIGTERM so in that case SIGTERM results in the same situation. So nothing is changed by this switch effectively.","commit_id":"33c403e14b6b0207c8c2e8dd96504b751852cfde"}]}
