)]}'
{"oslo_messaging/notify/listener.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    def __init__(self, transport, targets, dispatcher, executor\u003dNone,"},{"line_number":149,"context_line":"                 allow_requeue\u003dTrue, pool\u003dNone, batch_size\u003d1,"},{"line_number":150,"context_line":"                 batch_timeout\u003dNone):"},{"line_number":151,"context_line":"        if executor and not utils.executor_is_valid(executor):"},{"line_number":152,"context_line":"            raise msg_server.ExecutorLoadFailure("},{"line_number":153,"context_line":"                executor,"},{"line_number":154,"context_line":"                \"Executor should be None or \u0027eventlet\u0027 and \u0027threading\u0027\")"},{"line_number":155,"context_line":"        if not executor:"},{"line_number":156,"context_line":"            executor \u003d utils.get_executor_with_context()"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        super(NotificationServerBase, self).__init__(transport, dispatcher,"},{"line_number":159,"context_line":"                                                     executor)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_ad6b6552","line":156,"range":{"start_line":151,"start_character":0,"end_line":156,"end_character":56},"updated":"2020-02-17 14:22:24.000000000","message":"We\u0027ll raise this when we call \u0027super\u0027. Do we need this here?","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":136,"context_line":"import logging"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"from oslo_messaging.notify import dispatcher as notify_dispatcher"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"from oslo_messaging import server as msg_server"},{"line_number":141,"context_line":"from oslo_messaging import transport as msg_transport"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_f0159e96","line":139,"updated":"2020-02-18 11:12:42.000000000","message":"nit: whitespace damage","commit_id":"d6b696b29f431546ef26fdd1247d491e14f5046e"}],"oslo_messaging/rpc/server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class RPCServer(msg_server.MessageHandlingServer):"},{"line_number":142,"context_line":"    def __init__(self, transport, target, dispatcher, executor\u003dNone):"},{"line_number":143,"context_line":"        if executor and not utils.executor_is_valid(executor):"},{"line_number":144,"context_line":"            raise msg_server.ExecutorLoadFailure("},{"line_number":145,"context_line":"                executor,"},{"line_number":146,"context_line":"                \"Executor should be None or \u0027eventlet\u0027 and \u0027threading\u0027\")"},{"line_number":147,"context_line":"        if not executor:"},{"line_number":148,"context_line":"            executor \u003d utils.get_executor_with_context()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        super(RPCServer, self).__init__(transport, dispatcher, executor)"},{"line_number":151,"context_line":"        if not isinstance(transport, msg_transport.RPCTransport):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_cd74a13b","line":148,"range":{"start_line":143,"start_character":0,"end_line":148,"end_character":56},"updated":"2020-02-17 14:22:24.000000000","message":"Again, do you need to do this here when the superclass __init__ function does it for us?","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":220,"context_line":"           Defaults to DefaultRPCAccessPolicy"},{"line_number":221,"context_line":"    :type access_policy: RPCAccessPolicyBase"},{"line_number":222,"context_line":"    \"\"\""},{"line_number":223,"context_line":"    if executor and not utils.executor_is_valid(executor):"},{"line_number":224,"context_line":"        raise msg_server.ExecutorLoadFailure("},{"line_number":225,"context_line":"            executor,"},{"line_number":226,"context_line":"            \"Executor should be None or \u0027eventlet\u0027 and \u0027threading\u0027\")"},{"line_number":227,"context_line":"    if not executor:"},{"line_number":228,"context_line":"        executor \u003d utils.get_executor_with_context()"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    dispatcher \u003d rpc_dispatcher.RPCDispatcher(endpoints, serializer,"},{"line_number":231,"context_line":"                                              access_policy)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_ed887d26","line":228,"range":{"start_line":223,"start_character":0,"end_line":228,"end_character":52},"updated":"2020-02-17 14:22:24.000000000","message":"Ditto...","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    dispatcher \u003d rpc_dispatcher.RPCDispatcher(endpoints, serializer,"},{"line_number":231,"context_line":"                                              access_policy)"},{"line_number":232,"context_line":"    return RPCServer(transport, target, dispatcher, executor)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"def expected_exceptions(*exceptions):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_8d954941","line":232,"updated":"2020-02-17 14:22:24.000000000","message":"...due to the call here.","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"}],"oslo_messaging/server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        for routing request to endpoint for processing."},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        The executor parameter controls how incoming messages will be received"},{"line_number":317,"context_line":"        and dispatched. By default, the threading executor."},{"line_number":318,"context_line":"        It handles many message in parallel. If your application need"},{"line_number":319,"context_line":"        asynchronism then you need to consider to use the eventlet executor."},{"line_number":320,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_ed607d3b","line":317,"range":{"start_line":317,"start_character":58,"end_line":317,"end_character":59},"updated":"2020-02-17 14:22:24.000000000","message":"Try:\n\n    By default, the threading executor is used.\n\nHowever, I\u0027m not sure this is true. It seems we detect what type to use (via \u0027utils.get_executor_with_context()\u0027), right?","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                         \u0027eventlet\u0027 and \u0027threading\u0027"},{"line_number":328,"context_line":"        :type executor: str"},{"line_number":329,"context_line":"        \"\"\""},{"line_number":330,"context_line":"        if executor and not utils.executor_is_valid(executor):"},{"line_number":331,"context_line":"            raise ExecutorLoadFailure("},{"line_number":332,"context_line":"                executor,"},{"line_number":333,"context_line":"                \"Executor should be None or \u0027eventlet\u0027 and \u0027threading\u0027\")"},{"line_number":334,"context_line":"        if not executor:"},{"line_number":335,"context_line":"            executor \u003d utils.get_executor_with_context()"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        self.conf \u003d transport.conf"},{"line_number":338,"context_line":"        self.conf.register_opts(_pool_opts)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_edbf1daa","line":335,"range":{"start_line":330,"start_character":0,"end_line":335,"end_character":56},"updated":"2020-02-17 14:22:24.000000000","message":"If the other users of this are not needed, as I suspect, consider getting rid of the \u0027executor_is_valid\u0027 helper and just folding it in here:\n\n  if executor:\n      if executor not in (\u0027threading\u0027, \u0027eventlet\u0027):\n          raise ...\n  else:\n      executor \u003d utils.get_executor_with_context()","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import threading"},{"line_number":24,"context_line":"import traceback"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import debtcollector"},{"line_number":27,"context_line":"from oslo_config import cfg"},{"line_number":28,"context_line":"from oslo_service import service"},{"line_number":29,"context_line":"from oslo_utils import eventletutils"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_9059ca91","side":"PARENT","line":26,"updated":"2020-02-18 11:12:42.000000000","message":"are we using this anywhere else now? If not, could we drop the dependency?","commit_id":"3359c520d31342efc8a8008b865b10fb84003fc1"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"5862e3c8c8a4696f663e2fdf511ba7e2878a2777","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import threading"},{"line_number":24,"context_line":"import traceback"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import debtcollector"},{"line_number":27,"context_line":"from oslo_config import cfg"},{"line_number":28,"context_line":"from oslo_service import service"},{"line_number":29,"context_line":"from oslo_utils import eventletutils"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_16862f61","side":"PARENT","line":26,"in_reply_to":"3fa7e38b_9059ca91","updated":"2020-02-18 14:51:48.000000000","message":"Still in use in oslo_messaging/transport.py to deprecate the `get_transport` function.\n\nI will try to address that in a follow up patch.","commit_id":"3359c520d31342efc8a8008b865b10fb84003fc1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from stevedore import driver"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from oslo_messaging._drivers import base as driver_base"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"from oslo_messaging import _utils as utils"},{"line_number":36,"context_line":"from oslo_messaging import exceptions"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_1064fa4d","line":34,"updated":"2020-02-18 11:12:42.000000000","message":"nit: whitespace damage","commit_id":"d6b696b29f431546ef26fdd1247d491e14f5046e"}],"releasenotes/notes/blocking-executor-support-dropped-a3bc74c6825863f0.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The blocking executor has been deprecated for removal in Rocky and support"},{"line_number":5,"context_line":"    is now dropped in ussuri. Its usage was never recommended for applications,"},{"line_number":6,"context_line":"    and it has no test coverage."},{"line_number":7,"context_line":"    Applications should choose the appropriate threading model that maps their"},{"line_number":8,"context_line":"    usage instead."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_7058ce88","line":5,"range":{"start_line":5,"start_character":22,"end_line":5,"end_character":28},"updated":"2020-02-18 11:12:42.000000000","message":"Ussuri","commit_id":"d6b696b29f431546ef26fdd1247d491e14f5046e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The blocking executor has been deprecated for removal in Rocky and support"},{"line_number":5,"context_line":"    is now dropped in ussuri. Its usage was never recommended for applications,"},{"line_number":6,"context_line":"    and it has no test coverage."},{"line_number":7,"context_line":"    Applications should choose the appropriate threading model that maps their"},{"line_number":8,"context_line":"    usage instead."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_f0435e96","line":7,"range":{"start_line":7,"start_character":68,"end_line":7,"end_character":72},"updated":"2020-02-18 11:12:42.000000000","message":"maps to","commit_id":"d6b696b29f431546ef26fdd1247d491e14f5046e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"19f81557fb0820821320e20e8de846889bf31cbd","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    and it has no test coverage."},{"line_number":7,"context_line":"    Applications should choose the appropriate threading model that maps their"},{"line_number":8,"context_line":"    usage instead."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_5053526f","line":9,"updated":"2020-02-18 11:12:42.000000000","message":"nit: extra newline","commit_id":"d6b696b29f431546ef26fdd1247d491e14f5046e"}],"setup.cfg":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32f8fd3c2d39a9e83d97f7435c5b1ff56ff753ed","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    fake \u003d oslo_messaging._drivers.impl_fake:FakeDriver"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"oslo.messaging.executors \u003d"},{"line_number":53,"context_line":"    # Blocking executor is no longer officialy supported"},{"line_number":54,"context_line":"    # blocking \u003d futurist:SynchronousExecutor"},{"line_number":55,"context_line":"    eventlet \u003d futurist:GreenThreadPoolExecutor"},{"line_number":56,"context_line":"    threading \u003d futurist:ThreadPoolExecutor"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":7,"id":"3fa7e38b_4d98b17b","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":45},"updated":"2020-02-17 14:22:24.000000000","message":"Can you just remove this instead, please? A release note would be better","commit_id":"329f025d46b950a6dc39308cf4f932f218ab8cfc"}]}
