)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"3d0f1e32de8e20638ac9394ab2cdaedd4d70bbae","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     leizhang \u003clei.a.zhang@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-24 06:11:31 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix bug that listener worker doesn\u0027t exit"},{"line_number":8,"context_line":"When the listener configures to have more than 0 workers to start,"},{"line_number":9,"context_line":"the worker process won\u0027t quit when user terminates the parent"},{"line_number":10,"context_line":"listener process, no matter pressing ctrl+c or killing the parent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bae84128_0e666550","line":7,"updated":"2016-02-24 06:20:30.000000000","message":"blank line needed here, and please add the bug link below: Closes-bug: #1548386","commit_id":"bfeb72f188f294e546bb8cc94ff4817e39f7247b"}],"searchlight/listener.py":[{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"19a261e3b6dea52ae92e76436a2e7d48199c38fd","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_4937c74c","line":121,"updated":"2016-02-24 06:48:35.000000000","message":"question: why not use eventlet executor here?","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"6d65a89995445cc0aa2d735fcb5bb5e9455a6977","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_9766334f","line":121,"in_reply_to":"bae84128_2e3142ed","updated":"2016-02-29 17:01:40.000000000","message":"ceilometer is using BatchNotificationListener (https://github.com/openstack/ceilometer/blob/master/ceilometer/messaging.py) which doesn\u0027t seem to have any documentation. I\u0027m fine going with threaded if it works; we\u0027re not creating so many workers that the memory savings with eventlet are going to be worth it. I think we should look at whether the batch listener makes more sense. I\u0027ll file a separate ticket.","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":16150,"name":"Lei Zhang","email":"lei.a.zhang@intel.com","username":"leizhang"},"change_message_id":"bd7307f2e8c94aad33033abd3c67caf5c0de79c8","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_8f1eef09","line":121,"in_reply_to":"bae84128_34073683","updated":"2016-02-24 07:42:38.000000000","message":"Yeah, I omit that monkey patch thing, thanks. But I still encounter some errors of handling amqp messages when use \u0027eventlet\u0027 executor.","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":16150,"name":"Lei Zhang","email":"lei.a.zhang@intel.com","username":"leizhang"},"change_message_id":"31c6ce51f650bd8dfacd83b86658e7877bfdd3b9","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_947a8222","line":121,"in_reply_to":"bae84128_4937c74c","updated":"2016-02-24 07:16:32.000000000","message":"It\u0027s a good question, but I don\u0027t know the answer. If you specify executor with \"blocking\"(default) or \"eventlet\", the oslo messaging notification listener makes the worker cannot be closed, there is definitely a conflict between these configurations. I checked ceilometer\u0027s notification service, it exits normally, they are using \"threading\".","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"107bb68a57de233883bf626ed99fa713e3a4d887","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_2e3142ed","line":121,"in_reply_to":"bae84128_816fe3fa","updated":"2016-02-25 14:25:25.000000000","message":"Done","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"16f519736d559bab684c0f8d48ef58c2bb9d0086","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_816fe3fa","line":121,"in_reply_to":"bae84128_8f1eef09","updated":"2016-02-24 08:19:28.000000000","message":"I encoutered the same error when testing with eventlet executor, seems like threading is the only right choice here.","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"a75d5892c55b962313e6582e05b0bb803043796f","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            transport,"},{"line_number":119,"context_line":"            targets,"},{"line_number":120,"context_line":"            endpoints,"},{"line_number":121,"context_line":"            executor\u003d\u0027threading\u0027)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        listener.start()"},{"line_number":124,"context_line":"        self.listeners.append(listener)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bae84128_34073683","line":121,"in_reply_to":"bae84128_947a8222","updated":"2016-02-24 07:26:29.000000000","message":"You need to add eventlet.monkey_patch() when using \u0027eventlet\u0027 executor:  https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/notify/listener.py#L120","commit_id":"2e5a679305ed592a92ee0b9dfde0db1a70da27c0"}]}
