Yaniv Bronhaim 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 
removed?
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 have 
stompFrameHandler and stompConnection it could be easy to understand the 
options.. but we don't
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.
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 report on 
wrong request format (for example) so why do you json.load it before? what 
handle_destination should\can do?
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 not 
exist
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
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 do 
such freestyle handling - KeyError, json format error .. its not only the 
reply-to if I understand it currently
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?
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