)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"9a7ec7bf597ba7f7b97df15e5490cdaa2755a707","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The driver tries to get a volume\u0027s operation state with no polling"},{"line_number":10,"context_line":"in the function wait_until_lun_ready_for_ops, that means the driver"},{"line_number":11,"context_line":"may get out-of-date data. For example, if a volume is just change"},{"line_number":12,"context_line":"to \u0027Preparing\u0027 state, the function may get the state as \u0027Ready\u0027 and"},{"line_number":13,"context_line":"report that the volume is ready to use. The fix is to getting the"},{"line_number":14,"context_line":"volume state with polling at the first time, then the driver would"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_58d45346","line":11,"updated":"2015-07-05 15:28:42.000000000","message":"is just change \u003d\u003e has just changed","commit_id":"5d993c39030543fb81e796a2ec0edb0a5d49abfe"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"9a7ec7bf597ba7f7b97df15e5490cdaa2755a707","unresolved":false,"context_lines":[{"line_number":10,"context_line":"in the function wait_until_lun_ready_for_ops, that means the driver"},{"line_number":11,"context_line":"may get out-of-date data. For example, if a volume is just change"},{"line_number":12,"context_line":"to \u0027Preparing\u0027 state, the function may get the state as \u0027Ready\u0027 and"},{"line_number":13,"context_line":"report that the volume is ready to use. The fix is to getting the"},{"line_number":14,"context_line":"volume state with polling at the first time, then the driver would"},{"line_number":15,"context_line":"report the right state of the volume."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_18cecbb4","line":13,"updated":"2015-07-05 15:28:42.000000000","message":"to getting \u003d\u003e to get","commit_id":"5d993c39030543fb81e796a2ec0edb0a5d49abfe"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"5f577551333369a13b8cc38fce82d9236e8f72ca","unresolved":false,"context_lines":[{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    def wait_until_lun_ready_for_ops(self, name):"},{"line_number":1226,"context_line":"        def is_lun_ready_for_ops():"},{"line_number":1227,"context_line":"            data \u003d self.get_lun_current_ops_state(name, False)"},{"line_number":1228,"context_line":"            return data \u003d\u003d \u0027None\u0027"},{"line_number":1229,"context_line":"        # Get the volume\u0027s latest operation state by polling."},{"line_number":1230,"context_line":"        # Otherwise, the operation state may be out of date."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_1ff7d659","line":1227,"updated":"2015-07-15 17:15:31.000000000","message":"Shouldn\u0027t this be called with True instead of False?","commit_id":"320f6fd956150c5ab2244a87486aceb653ada29e"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"641153406d450095e6adbda97778a33a1f3c5098","unresolved":false,"context_lines":[{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    def wait_until_lun_ready_for_ops(self, name):"},{"line_number":1226,"context_line":"        def is_lun_ready_for_ops():"},{"line_number":1227,"context_line":"            data \u003d self.get_lun_current_ops_state(name, False)"},{"line_number":1228,"context_line":"            return data \u003d\u003d \u0027None\u0027"},{"line_number":1229,"context_line":"        # Get the volume\u0027s latest operation state by polling."},{"line_number":1230,"context_line":"        # Otherwise, the operation state may be out of date."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_89172144","line":1227,"in_reply_to":"9a41bdd9_1ff7d659","updated":"2015-07-16 02:35:35.000000000","message":"We use \u0027False\u0027 here because we don\u0027t want to issue many \u0027poll\u0027 requests to VNX to reduce the overload. The VNX would update the objects status periodly on the array side.\nSo we only issue a \u0027poll\u0027 request to VNX at the first time to see the lun\u0027s real state. If the lun is not ready, we wait for it. If the lun is ready, go ahead..","commit_id":"320f6fd956150c5ab2244a87486aceb653ada29e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"04cef406e08b0549d740f60c7e8eb87b558e0958","unresolved":false,"context_lines":[{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":"    def wait_until_lun_ready_for_ops(self, name):"},{"line_number":1226,"context_line":"        def is_lun_ready_for_ops():"},{"line_number":1227,"context_line":"            data \u003d self.get_lun_current_ops_state(name, False)"},{"line_number":1228,"context_line":"            return data \u003d\u003d \u0027None\u0027"},{"line_number":1229,"context_line":"        # Get the volume\u0027s latest operation state by polling."},{"line_number":1230,"context_line":"        # Otherwise, the operation state may be out of date."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_e29a7f61","line":1227,"in_reply_to":"9a41bdd9_89172144","updated":"2015-07-16 07:50:10.000000000","message":"Ok, that makes sense, first make a refresh and then use auto refresh.  Thanks for the clarification.","commit_id":"320f6fd956150c5ab2244a87486aceb653ada29e"}]}
