)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"1bd7af5ec0a3b08726f026771e9bd3941feadec4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"This patch adds a lock when create a tgt target to deal with"},{"line_number":14,"context_line":"the problem."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug #1398078"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I58fb24dda90aa93fb9d33146c395f9983bf8e7e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_05c94b26","line":16,"range":{"start_line":16,"start_character":7,"end_line":16,"end_character":10},"updated":"2016-06-01 08:22:38.000000000","message":"Closes-Bug: #1398078","commit_id":"c1bbfebad22755da4b83acde34b449efaea2519c"}],"cinder/volume/targets/tgt.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2a6b0692fc14a5f3a584f6254119e493090efb51","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            self._do_tgt_update(name)"},{"line_number":188,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":189,"context_line":"            if \"target already exists\" in e.stderr:"},{"line_number":190,"context_line":"                # Adding the additional Warning message below for a clear"},{"line_number":191,"context_line":"                # ER marker (Ref bug: #1398078)."},{"line_number":192,"context_line":"                LOG.warning(_LW(\u0027Could not create target because \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_3f1c78c0","side":"PARENT","line":189,"updated":"2016-05-31 16:38:49.000000000","message":"I don\u0027t know that it is a good idea to remove this error message.  It isn\u0027t impossible to run into this situation and I think it is good to note when it is encountered.","commit_id":"adf6529673a072a6aba4388e7774bd0040a11d3a"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"1bd7af5ec0a3b08726f026771e9bd3941feadec4","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            self._do_tgt_update(name)"},{"line_number":188,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":189,"context_line":"            if \"target already exists\" in e.stderr:"},{"line_number":190,"context_line":"                # Adding the additional Warning message below for a clear"},{"line_number":191,"context_line":"                # ER marker (Ref bug: #1398078)."},{"line_number":192,"context_line":"                LOG.warning(_LW(\u0027Could not create target because \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_e5f4075c","side":"PARENT","line":189,"in_reply_to":"9abb7d3a_3f1c78c0","updated":"2016-06-01 08:22:38.000000000","message":"Done","commit_id":"adf6529673a072a6aba4388e7774bd0040a11d3a"},{"author":{"_account_id":18967,"name":"zhangsong","email":"zhangsong@cmss.chinamobile.com","username":"zhangsong"},"change_message_id":"2a70b55343707cbcc8d4654bf23d4e862b76ec03","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"            self._do_tgt_update(name)"},{"line_number":188,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":189,"context_line":"            if \"target already exists\" in e.stderr:"},{"line_number":190,"context_line":"                # Adding the additional Warning message below for a clear"},{"line_number":191,"context_line":"                # ER marker (Ref bug: #1398078)."},{"line_number":192,"context_line":"                LOG.warning(_LW(\u0027Could not create target because \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_914d749c","side":"PARENT","line":189,"in_reply_to":"9abb7d3a_3f1c78c0","updated":"2016-06-01 11:05:59.000000000","message":"Here is my idea:\nAlthough this error is caused by any other reason, it can be logged in the following LOG.error() method like any other error, this is no need to treat specially, right?","commit_id":"adf6529673a072a6aba4388e7774bd0040a11d3a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"0c7ed65ad42925597857efc04bca37487dab76bf","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @utils.synchronized(\u0027tgtadm\u0027, external\u003dTrue)"},{"line_number":118,"context_line":"    def _do_tgt_update(self, name):"},{"line_number":119,"context_line":"        (out, err) \u003d utils.execute(\u0027tgt-admin\u0027, \u0027--update\u0027, name,"},{"line_number":120,"context_line":"                                   run_as_root\u003dTrue)"},{"line_number":121,"context_line":"        LOG.debug(\"StdOut from tgt-admin --update: %s\", out)"},{"line_number":122,"context_line":"        LOG.debug(\"StdErr from tgt-admin --update: %s\", err)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_e5dcf547","line":120,"range":{"start_line":119,"start_character":9,"end_line":120,"end_character":52},"updated":"2016-06-01 13:15:59.000000000","message":"Can this command hang?\n\nWhat happens if tgtd dies?","commit_id":"00d3663c471ead6d01c8993ad6d95814c795afc7"},{"author":{"_account_id":18967,"name":"zhangsong","email":"zhangsong@cmss.chinamobile.com","username":"zhangsong"},"change_message_id":"131589b48a921452466db219b682766b2fc83f77","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @utils.synchronized(\u0027tgtadm\u0027, external\u003dTrue)"},{"line_number":118,"context_line":"    def _do_tgt_update(self, name):"},{"line_number":119,"context_line":"        (out, err) \u003d utils.execute(\u0027tgt-admin\u0027, \u0027--update\u0027, name,"},{"line_number":120,"context_line":"                                   run_as_root\u003dTrue)"},{"line_number":121,"context_line":"        LOG.debug(\"StdOut from tgt-admin --update: %s\", out)"},{"line_number":122,"context_line":"        LOG.debug(\"StdErr from tgt-admin --update: %s\", err)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_b80fab35","line":120,"range":{"start_line":119,"start_character":9,"end_line":120,"end_character":52},"in_reply_to":"9abb7d3a_e5dcf547","updated":"2016-06-01 14:41:17.000000000","message":"If tgtd dies, tgt-admin will return error immediately:\n# tgt-admin --update iqn.2010-10.org.openstack:volume-1c07a12c-9bcd-46b1-8686-7b6b518adf15\ntgtadm: failed to send request hdr to tgt daemon, Transport endpoint is not connected","commit_id":"00d3663c471ead6d01c8993ad6d95814c795afc7"}]}
