Piotr Kliczewski has posted comments on this change.

Change subject: stomp: server side subscriptions
......................................................................


Patch Set 28:

(8 comments)

https://gerrit.ovirt.org/#/c/38451/28/lib/yajsonrpc/stomp.py
File lib/yajsonrpc/stomp.py:

Line 20: 
Line 21: from vdsm.utils import monotonic_time
Line 22: import re
Line 23: 
Line 24: # REQUIRED_FOR: engine-3.5
> does it mean that when we stop supporting engine-3.5 this code should be re
Yes
Line 25: LEGACY_SUB_ID_REQ = "/queue/_local/vdsm/requests"
Line 26: LEGACY_SUB_ID_RES = "/queue/_local/vdsm/reponses"
Line 27: 
Line 28: _RE_ESCAPE_SEQUENCE = re.compile(r"\\(.)")


Line 292: 
Line 293: 
Line 294: class AsyncDispatcher(object):
Line 295:     log = logging.getLogger("stomp.AsyncDispatcher")
Line 296: 
> what about the comments? what is connection and frame_handler? if we would 
will add docstring
Line 297:     def __init__(self, connection, frame_handler, bufferSize=4096):
Line 298:         self._frame_handler = frame_handler
Line 299:         self.connection = connection
Line 300:         self._bufferSize = bufferSize


https://gerrit.ovirt.org/#/c/38451/28/lib/yajsonrpc/stompreactor.py
File lib/yajsonrpc/stompreactor.py:

Line 56: 
Line 57: class StompAdapterImpl(object):
Line 58:     log = logging.getLogger("Broker.StompAdapter")
Line 59: 
Line 60:     def __init__(self, reactor, sub_map, req_dest):
> please doc what sub_map\_sub_dests and req_dest are built from.
Done
Line 61:         self._reactor = reactor
Line 62:         self._outbox = deque()
Line 63:         self._sub_dests = sub_map
Line 64:         self._req_dest = req_dest


Line 194:         """
Line 195:         try:
Line 196:             self._handle_destination(dispatcher, req_dest, 
json.loads(request))
Line 197:         except Exception:
Line 198:             # let json server process issue
> what does it mean? what issues can occur? if the handleMessage should repor
Validation of the massage is done in different place. Here we are interested in 
destination only.
Line 199:             pass
Line 200:         dispatcher.connection.handleMessage(request)
Line 201: 
Line 202:     def _handle_destination(self, dispatcher, req_dest, request):


Line 196:             self._handle_destination(dispatcher, req_dest, 
json.loads(request))
Line 197:         except Exception:
Line 198:             # let json server process issue
Line 199:             pass
Line 200:         dispatcher.connection.handleMessage(request)
> if you pass exceptions you'll never understand why the req_dest[id] does no
Please see my comment above
Line 201: 
Line 202:     def _handle_destination(self, dispatcher, req_dest, request):
Line 203:         """
Line 204:         We could receive single message or batch of messages. We need


Line 206:         """
Line 207:         if isinstance(request, list):
Line 208:             map(functools.partial(self._handle_destination, 
dispatcher,
Line 209:                                   req_dest),
Line 210:                 request)
> so request can be requests? interesting
We support bulk requests.
Line 211:             return
Line 212: 
Line 213:         self._req_dest[request.get("id")] = req_dest
Line 214: 


Line 280:             resp = json.loads(message)
Line 281:             destination = self._req_dest[resp.get("id")]
Line 282:             del self._req_dest["id"]
Line 283:         except:
Line 284:             # we could have no reply-to
> please catch whatever you see that can be here - im quite concern when you 
It should be KeyError when we get id. Will fix.
Line 285:             pass
Line 286: 
Line 287:         try:
Line 288:             connections = self._sub_map[destination]


Line 351:     def send(self, message, destination=None, headers=None):
Line 352:         if destination is None:
Line 353:             destination = _DEFAULT_REQUEST_DESTINATION
Line 354: 
Line 355:         self.log.debug("Sending request")
> do we need this debug print?
It is useful from client point of view.
Line 356:         self._aclient.send(
Line 357:             destination,
Line 358:             message,
Line 359:             headers


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I1493070f2ba66ca9d39a6661876c82c4727cad62
Gerrit-PatchSet: 28
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczew...@gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <dan...@redhat.com>
Gerrit-Reviewer: Dima Kuznetsov <dkuzn...@redhat.com>
Gerrit-Reviewer: Francesco Romani <from...@redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Michal Skrivanek <michal.skriva...@redhat.com>
Gerrit-Reviewer: Michal Skrivanek <mskri...@redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourf...@redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczew...@gmail.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeen...@redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybron...@redhat.com>
Gerrit-Reviewer: Yeela Kaplan <ykap...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-HasComments: Yes
_______________________________________________
vdsm-patches mailing list
vdsm-patches@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to