Change in vdsm[master]: xmlrpc: detecting loop on centos7

nsoffer at redhat.com nsoffer at redhat.com
Fri Apr 3 12:52:56 UTC 2015


Nir Soffer has posted comments on this change.

Change subject: xmlrpc: detecting loop on centos7
......................................................................


Patch Set 6:

(2 comments)

https://gerrit.ovirt.org/#/c/39343/6//COMMIT_MSG
Commit Message:

Line 3: AuthorDate: 2015-04-03 09:35:47 +0200
Line 4: Commit:     pkliczewski <piotr.kliczewski at gmail.com>
Line 5: CommitDate: 2015-04-03 09:35:47 +0200
Line 6: 
Line 7: xmlrpc: detecting loop on centos7
This issue is not limited to centos.

This week we found that xmlrpc is completely broken on master on fedora 20 vm. Requests fail with unexpected protoocol errors (e.g, getting "OST" instead of "POST"), or getting unexpected binary data. Smells like this bug.

I can also easily reproduce this by adding little sleep in the protocol detector tests - see https://gerrit.ovirt.org/39513
Line 8: 
Line 9: When we process newly incoming connection we receive read event and we
Line 10: detect xmlrpc protocol and we call handle_dispatcher which removes
Line 11: dispatcher from further processing in asyncore loop and pass the socket


https://gerrit.ovirt.org/#/c/39343/6/vdsm/rpc/BindingXMLRPC.py
File vdsm/rpc/BindingXMLRPC.py:

Line 1197:     def handle_dispatcher(self, dispatcher, socket_address):
Line 1198:         client_socket = dispatcher.socket
Line 1199:         dispatcher.del_channel()
Line 1200:         # skip further processing of handle_read
Line 1201:         dispatcher.connected = False
This indeed fix the issue, but is not the right place to fix.

This object should not care about the internals of dispatcher handle_read_event.

The fix should be in del_channel - see https://gerrit.ovirt.org/39514
Line 1202:         self.xml_binding.add_socket(client_socket, socket_address)


-- 
To view, visit https://gerrit.ovirt.org/39343
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I238d10b3bd8aaf8baac55ec81a7d406609e544e6
Gerrit-PatchSet: 6
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski at gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Ido Barkan <ibarkan at redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski at gmail.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes


More information about the vdsm-patches mailing list