)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"70557931ce59d0da468577c38d2c18dc84d6872d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"implementation of Filter Scheduler added a hook in init_host() to"},{"line_number":14,"context_line":"ask all volume services to send their stats immediately (volume RPC"},{"line_number":15,"context_line":"call \u0027publish_service_capabitlies()\u0027), this reduced the chance of a"},{"line_number":16,"context_line":"new volume being set to \u0027error\u0027 state becuase scheduler has no"},{"line_number":17,"context_line":"knowledge of backends to minimum."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"             Scheduler       RPC Exchanges    Volume Service(s)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_13568b06","line":16,"updated":"2015-02-24 16:04:29.000000000","message":"Done","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ccc3684d51a9a6fe890c87b6615ea1b4ce910785","unresolved":false,"context_lines":[{"line_number":13,"context_line":"implementation of Filter Scheduler added a hook in init_host() to"},{"line_number":14,"context_line":"ask all volume services to send their stats immediately (volume RPC"},{"line_number":15,"context_line":"call \u0027publish_service_capabitlies()\u0027), this reduced the chance of a"},{"line_number":16,"context_line":"new volume being set to \u0027error\u0027 state becuase scheduler has no"},{"line_number":17,"context_line":"knowledge of backends to minimum."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"             Scheduler       RPC Exchanges    Volume Service(s)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_82f06b92","line":16,"updated":"2015-02-24 15:49:21.000000000","message":"becuase -\u003e because","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"70557931ce59d0da468577c38d2c18dc84d6872d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"However, commit 65fa80c361f71158cc492dfc520dc4a63ccfa419 moved"},{"line_number":26,"context_line":"init_host() ahead of service RPC initialization because for volume"},{"line_number":27,"context_line":"services, service initialization should be done before the service"},{"line_number":28,"context_line":"starts accepting RPC requests.  This change unfortunately invalided"},{"line_number":29,"context_line":"scheduler service\u0027s init_host() because that needs to be done *AFTER*"},{"line_number":30,"context_line":"RPC is ready (a queue is bound to scheduler fanout exchange).  The"},{"line_number":31,"context_line":"result is scheduler asks vol service to send update, but it misses"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_335b8f2f","line":28,"updated":"2015-02-24 16:04:29.000000000","message":"Done","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ccc3684d51a9a6fe890c87b6615ea1b4ce910785","unresolved":false,"context_lines":[{"line_number":25,"context_line":"However, commit 65fa80c361f71158cc492dfc520dc4a63ccfa419 moved"},{"line_number":26,"context_line":"init_host() ahead of service RPC initialization because for volume"},{"line_number":27,"context_line":"services, service initialization should be done before the service"},{"line_number":28,"context_line":"starts accepting RPC requests.  This change unfortunately invalided"},{"line_number":29,"context_line":"scheduler service\u0027s init_host() because that needs to be done *AFTER*"},{"line_number":30,"context_line":"RPC is ready (a queue is bound to scheduler fanout exchange).  The"},{"line_number":31,"context_line":"result is scheduler asks vol service to send update, but it misses"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_020b9b7d","line":28,"updated":"2015-02-24 15:49:21.000000000","message":"invalided -\u003e invalidated","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ccc3684d51a9a6fe890c87b6615ea1b4ce910785","unresolved":false,"context_lines":[{"line_number":29,"context_line":"scheduler service\u0027s init_host() because that needs to be done *AFTER*"},{"line_number":30,"context_line":"RPC is ready (a queue is bound to scheduler fanout exchange).  The"},{"line_number":31,"context_line":"result is scheduler asks vol service to send update, but it misses"},{"line_number":32,"context_line":"the information it asked for because the its queue hasn\u0027t been"},{"line_number":33,"context_line":"created and bound to the fanout queue yet.  So scheduler always has"},{"line_number":34,"context_line":"to wait for the next update from volume services to be able to work"},{"line_number":35,"context_line":"properly."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_e2ce872d","line":32,"updated":"2015-02-24 15:49:21.000000000","message":"\"because its\"  remove extra \u0027the\u0027","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ccc3684d51a9a6fe890c87b6615ea1b4ce910785","unresolved":false,"context_lines":[{"line_number":40,"context_line":"              |   (vol stats lost)  |\u003c-vol stats--| (sch fanout)"},{"line_number":41,"context_line":"              | RPC init                          |"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"This change add a new hook to Manager class called init_hook_with_rpc()"},{"line_number":44,"context_line":"to allow services like scheduler to do something once RPC is ready."},{"line_number":45,"context_line":"This should restore scheduler\u0027s behavior before commit"},{"line_number":46,"context_line":"65fa80c361f71158cc492dfc520dc4a63ccfa419."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_f581dfc3","line":43,"updated":"2015-02-24 15:49:21.000000000","message":"add -\u003e adds","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a25299ecf8e6dfe8cc58c94115e762a6ab5ed0f5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"65fa80c361f71158cc492dfc520dc4a63ccfa419."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Change-Id: If6cf9030eb44c39a06ec501ac5c049d460782481"},{"line_number":49,"context_line":"Closes-bug: #1409012"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_d5893b76","line":49,"updated":"2015-02-24 15:48:02.000000000","message":"This isn\u0027t closing the bug as it can still be reproduced using steps provided in bug description. Partial-Bug would fit more.","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"}],"cinder/manager.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ccc3684d51a9a6fe890c87b6615ea1b4ce910785","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        \"\"\"A hook for service to do jobs after RPC is ready."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        Like init_host(), this method is a hook where services get a chance"},{"line_number":100,"context_line":"        to execute tasks that *needs* RPC. Child classes should override"},{"line_number":101,"context_line":"        this method."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_b8011e07","line":100,"updated":"2015-02-24 15:49:21.000000000","message":"needs -\u003e need","commit_id":"9efddbd4e8899231499084e374c6f34eccde7059"}],"cinder/service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b92c374fd7acfff025352025683df8c6b4e72d1d","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        self.rpcserver \u003d rpc.get_server(target, endpoints)"},{"line_number":158,"context_line":"        self.rpcserver.start()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        self.manager.init_host_with_rpc()"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        if self.report_interval:"},{"line_number":163,"context_line":"            pulse \u003d loopingcall.FixedIntervalLoopingCall("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b92f72f5","line":160,"updated":"2015-02-24 10:32:59.000000000","message":"This should be:\n  self.manager.init_hook_with_rpc()\nin your implementation. I personally think that init_host_with_rpc is better name.","commit_id":"43dc70b2cf8a819039b2ca98a4a8136e050c6190"}]}
