)]}'
{"amqp1-requirements.txt":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"df5463ab2a40f1966bfad0c3442341a52afc1826","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# AMQP 1.0 support depends on the Qpid Proton AMQP 1.0"},{"line_number":2,"context_line":"# development libraries."},{"line_number":3,"context_line":"pyngus\u003e\u003d2.0.0,\u003c3.0.0  # Apache-2.0"}],"source_content_type":"text/plain","patch_set":9,"id":"ba15a1d1_9a0ac9d1","line":3,"updated":"2015-09-14 13:51:36.000000000","message":"I have merged this requirement file with the tests one: https://review.openstack.org/#/c/223104/\n\nThis will ensure that we didn\u0027t miss the update of global requirements with we need to bump the pyngus version.","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"}],"oslo_messaging/_drivers/protocols/amqp/controller.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.processor \u003d None"},{"line_number":248,"context_line":"        # queue of Task() objects to execute on the eventloop once the"},{"line_number":249,"context_line":"        # connection is ready:"},{"line_number":250,"context_line":"        self._tasks \u003d six.moves.queue.Queue(maxsize\u003d500)"},{"line_number":251,"context_line":"        # limit the number of Task()\u0027s to execute per call to _process_tasks()."},{"line_number":252,"context_line":"        # This allows the eventloop main thread to return to servicing socket"},{"line_number":253,"context_line":"        # I/O in a timely manner"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_739ff05f","line":250,"updated":"2015-09-14 07:19:29.000000000","message":"You may keep the \"from six impot moves\" to leave this line unchanged.","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.processor \u003d None"},{"line_number":248,"context_line":"        # queue of Task() objects to execute on the eventloop once the"},{"line_number":249,"context_line":"        # connection is ready:"},{"line_number":250,"context_line":"        self._tasks \u003d six.moves.queue.Queue(maxsize\u003d500)"},{"line_number":251,"context_line":"        # limit the number of Task()\u0027s to execute per call to _process_tasks()."},{"line_number":252,"context_line":"        # This allows the eventloop main thread to return to servicing socket"},{"line_number":253,"context_line":"        # I/O in a timely manner"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_147530ca","line":250,"in_reply_to":"ba15a1d1_739ff05f","updated":"2015-09-14 14:43:15.000000000","message":"Done","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        \"\"\""},{"line_number":546,"context_line":"        LOG.debug(\"Connection active (%s:%i), subscribing...\","},{"line_number":547,"context_line":"                  self.hosts.current.hostname, self.hosts.current.port)"},{"line_number":548,"context_line":"        for s in six.itervalues(self._servers):"},{"line_number":549,"context_line":"            s.attach(self._socket_connection.connection)"},{"line_number":550,"context_line":"        self._replies \u003d Replies(self._socket_connection.connection,"},{"line_number":551,"context_line":"                                lambda: self._reply_link_ready())"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_73761040","line":548,"updated":"2015-09-14 07:19:29.000000000","message":"It was decided to pay the price of the .values() overhead on Python 2: please replace servers.itervalues() with servers.values(). See:\n\nhttps://wiki.openstack.org/wiki/Python3#Common_patterns\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        \"\"\""},{"line_number":546,"context_line":"        LOG.debug(\"Connection active (%s:%i), subscribing...\","},{"line_number":547,"context_line":"                  self.hosts.current.hostname, self.hosts.current.port)"},{"line_number":548,"context_line":"        for s in six.itervalues(self._servers):"},{"line_number":549,"context_line":"            s.attach(self._socket_connection.connection)"},{"line_number":550,"context_line":"        self._replies \u003d Replies(self._socket_connection.connection,"},{"line_number":551,"context_line":"                                lambda: self._reply_link_ready())"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_b481e491","line":548,"in_reply_to":"ba15a1d1_73761040","updated":"2015-09-14 14:43:15.000000000","message":"Done","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"}],"oslo_messaging/_drivers/protocols/amqp/eventloop.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        \"\"\""},{"line_number":210,"context_line":"        if request:"},{"line_number":211,"context_line":"            self._requests.put(request)"},{"line_number":212,"context_line":"        os.write(self._wakeup_pipe[1], bytes(1))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def fileno(self):"},{"line_number":215,"context_line":"        \"\"\"Allows this request queue to be used by select().\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_53942c36","line":212,"updated":"2015-09-14 07:19:29.000000000","message":"You can write a literal byte string on Python 2 and Python 3: b\u0027!\u0027 or b\u0027\\x00\u0027.\n\n(I like \"!\" ;-))","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        \"\"\""},{"line_number":210,"context_line":"        if request:"},{"line_number":211,"context_line":"            self._requests.put(request)"},{"line_number":212,"context_line":"        os.write(self._wakeup_pipe[1], bytes(1))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def fileno(self):"},{"line_number":215,"context_line":"        \"\"\"Allows this request queue to be used by select().\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_d47ed8ad","line":212,"in_reply_to":"ba15a1d1_53942c36","updated":"2015-09-14 14:43:15.000000000","message":"Done","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"}],"oslo_messaging/tests/test_amqp_driver.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":739,"context_line":"        \"\"\"Shutdown the server.\"\"\""},{"line_number":740,"context_line":"        LOG.debug(\"Stopping test Broker %s:%d\", self.host, self.port)"},{"line_number":741,"context_line":"        self._shutdown \u003d True"},{"line_number":742,"context_line":"        os.write(self._wakeup_pipe[1], bytes(1))"},{"line_number":743,"context_line":"        self.join()"},{"line_number":744,"context_line":"        LOG.debug(\"Test Broker %s:%d stopped\", self.host, self.port)"},{"line_number":745,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_73adb087","line":742,"updated":"2015-09-14 07:19:29.000000000","message":"Ditto: b\u0027!\u0027 or b\u0027\\x00\u0027.","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":739,"context_line":"        \"\"\"Shutdown the server.\"\"\""},{"line_number":740,"context_line":"        LOG.debug(\"Stopping test Broker %s:%d\", self.host, self.port)"},{"line_number":741,"context_line":"        self._shutdown \u003d True"},{"line_number":742,"context_line":"        os.write(self._wakeup_pipe[1], bytes(1))"},{"line_number":743,"context_line":"        self.join()"},{"line_number":744,"context_line":"        LOG.debug(\"Test Broker %s:%d stopped\", self.host, self.port)"},{"line_number":745,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_972b8282","line":742,"in_reply_to":"ba15a1d1_73adb087","updated":"2015-09-14 14:43:15.000000000","message":"Done","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        # Shutting down"},{"line_number":807,"context_line":"        self._my_socket.close()"},{"line_number":808,"context_line":"        for conn in six.itervalues(self._connections):"},{"line_number":809,"context_line":"            conn.destroy()"},{"line_number":810,"context_line":"        return 0"},{"line_number":811,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_53bbccc4","line":808,"updated":"2015-09-14 07:19:29.000000000","message":"Ditto: self._connections.values()","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        # Shutting down"},{"line_number":807,"context_line":"        self._my_socket.close()"},{"line_number":808,"context_line":"        for conn in six.itervalues(self._connections):"},{"line_number":809,"context_line":"            conn.destroy()"},{"line_number":810,"context_line":"        return 0"},{"line_number":811,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_f73afecc","line":808,"in_reply_to":"ba15a1d1_53bbccc4","updated":"2015-09-14 14:43:15.000000000","message":"Done","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"}],"setup-test-env-qpid.sh":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"7cc5ee4a4ae2747dcd9b7532f19c9b805f6891e1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"EOF"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# TODO(kgiusti): we can remove \"ANONYMOUS\" once proton 0.10.1+ is released:"},{"line_number":98,"context_line":"# https://issues.apache.org/jira/browse/PROTON-974"},{"line_number":99,"context_line":"if [ $PROTOCOL \u003d\u003d \"1\" ]; then"},{"line_number":100,"context_line":"    cat \u003e\u003e ${DATADIR}/sasl2/qpidd.conf \u003c\u003cEOF"},{"line_number":101,"context_line":"mech_list: PLAIN ANONYMOUS"}],"source_content_type":"text/x-sh","patch_set":9,"id":"ba15a1d1_b354a854","line":98,"updated":"2015-09-14 07:19:29.000000000","message":"Any idea of the ETA? Is it worth to wait? Is it this project? https://pypi.python.org/pypi/python-qpid-proton","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c6a8cf95ac0357954489d7722b4d41cb0d29c7b6","unresolved":false,"context_lines":[{"line_number":95,"context_line":"EOF"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"# TODO(kgiusti): we can remove \"ANONYMOUS\" once proton 0.10.1+ is released:"},{"line_number":98,"context_line":"# https://issues.apache.org/jira/browse/PROTON-974"},{"line_number":99,"context_line":"if [ $PROTOCOL \u003d\u003d \"1\" ]; then"},{"line_number":100,"context_line":"    cat \u003e\u003e ${DATADIR}/sasl2/qpidd.conf \u003c\u003cEOF"},{"line_number":101,"context_line":"mech_list: PLAIN ANONYMOUS"}],"source_content_type":"text/x-sh","patch_set":9,"id":"ba15a1d1_b7ad668a","line":98,"in_reply_to":"ba15a1d1_b354a854","updated":"2015-09-14 14:43:15.000000000","message":"There hasn\u0027t been any definitive decision when/if a 0.10.1 will be released, so it\u0027s probably not worth holding up this patch.\n\nSome of the upstream devs want to do a 0.10.1, but they want to give the 0.10.0 release a bit more time \"in the wild\" in case any show stopper bugs are found.  In any case, I\u0027ll pull \u0027ANONYMOUS\u0027 when the next release of proton is made, whether 0.10.1 or 0.11.0.\n\nThe Proton project releases a huge tar file containing bindings for several different languages. The pypi package is just the python bits from that official upstream release of proton. I update the pypi package whenever a new upstream proton is shipped.","commit_id":"7e60942acf1f3cf1f1f6f32a9dfd7cb8c06f02b5"}]}
