)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7a2063cab751fe9783124cd67f48005dd4bcc897","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhengyin \u003czhengyin@chinac.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-05-22 14:31:22 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix bug-1403948"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I use eventlet.green.subprocess replace subprocess, eventlet.green.subprocess"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_917f4b14","line":7,"updated":"2017-05-22 15:10:12.000000000","message":"Replace this summary with an actual description of what is being done in the patch.","commit_id":"6d26e50e809d187a9c7e41d864744edb95498858"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7a2063cab751fe9783124cd67f48005dd4bcc897","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix bug-1403948"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I use eventlet.green.subprocess replace subprocess, eventlet.green.subprocess"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"can do other tasks while a backup is made of a large volume that takes more than"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_51d8931c","line":9,"updated":"2017-05-22 15:10:12.000000000","message":"Wrap lines at 72 characters and get rid of these extra empty lines between them.","commit_id":"6d26e50e809d187a9c7e41d864744edb95498858"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7a2063cab751fe9783124cd67f48005dd4bcc897","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"a few minutes to complete, so it can report cinder-backup service status."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug:1403948"},{"line_number":16,"context_line":"https://bugzilla.redhat.com/show_bug.cgi?id\u003d1403948"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Iacf963d6e7c7cbfebaa9c9d4dda89dffa34180a2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_71f8377a","line":15,"updated":"2017-05-22 15:10:12.000000000","message":"This is a horizon bug. Is there a Cinder one?","commit_id":"6d26e50e809d187a9c7e41d864744edb95498858"},{"author":{"_account_id":22059,"name":"zheng yin","email":"yin__zheng@163.com","username":"zy751713126"},"change_message_id":"888561254d63a011ac4b663e91fc87e99c0b8c81","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"a few minutes to complete, so it can report cinder-backup service status."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug:1403948"},{"line_number":16,"context_line":"https://bugzilla.redhat.com/show_bug.cgi?id\u003d1403948"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Iacf963d6e7c7cbfebaa9c9d4dda89dffa34180a2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_82dfe9d4","line":15,"in_reply_to":"ff0f0b1f_71f8377a","updated":"2017-05-23 01:55:16.000000000","message":"yes, cinder has this bug","commit_id":"6d26e50e809d187a9c7e41d864744edb95498858"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7a2063cab751fe9783124cd67f48005dd4bcc897","unresolved":false,"context_lines":[{"line_number":13,"context_line":"a few minutes to complete, so it can report cinder-backup service status."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug:1403948"},{"line_number":16,"context_line":"https://bugzilla.redhat.com/show_bug.cgi?id\u003d1403948"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Iacf963d6e7c7cbfebaa9c9d4dda89dffa34180a2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff0f0b1f_d1fdc36e","line":16,"updated":"2017-05-22 15:10:12.000000000","message":"Remove this line.","commit_id":"6d26e50e809d187a9c7e41d864744edb95498858"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"e5457882038853863a07441be313a00adfe0f1ec","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-05-23 09:47:54 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"eventlet.green.subprocess replace subprocess"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I use eventlet.green.subprocess replace subprocess,"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"eventlet.green.subprocess can do other tasks while"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff0f0b1f_73d5c9e4","line":8,"updated":"2017-05-23 03:00:53.000000000","message":"there shouldn\u0027t be extra blank Lines.","commit_id":"379441f6f86098bf4821b73f8fa4ba220c1caca9"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"e5457882038853863a07441be313a00adfe0f1ec","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"service status."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug:1403948"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Iacf963d6e7c7cbfebaa9c9d4dda89dffa34180a2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff0f0b1f_f337994c","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":18},"updated":"2017-05-23 03:00:53.000000000","message":"you may double check this link:\nhttps://bugs.launchpad.net/horizon/+bug/1403948\nThis is what I can see and it\u0027s really a horizon bug.","commit_id":"379441f6f86098bf4821b73f8fa4ba220c1caca9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4bfed2b84b5261346455743b2b172f2546f9d672","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-06-13 14:51:02 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"eventlet.green.subprocess replace subprocess"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I use eventlet.green.subprocess replace subprocess,"},{"line_number":10,"context_line":"eventlet.green.subprocess can do other tasks while a backup"},{"line_number":11,"context_line":"is made of a large volume that takes more than a few minutes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7f231b9d_47b5a3cc","line":8,"updated":"2017-06-13 14:53:22.000000000","message":"The commit summary and message should mention somewhere that this is for the Ceph backup driver.","commit_id":"3ded28b0aeee7f2cf2b6564a1dbbffa46a1a0fc3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"279aebc7aa1043b3de2f495aa1c11196a89ba91d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zheng yin \u003cyin__zheng@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-07-10 03:23:10 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"eventlet.green.subprocess replace subprocess"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When I use subprocess.Popen to create a large volume in backup/"},{"line_number":10,"context_line":"drivers/ceph.py , it may take more than a few minutes to compute,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3f1d235d_74b4ef35","line":7,"updated":"2017-07-10 16:17:15.000000000","message":"Please prefix this summary with \"Ceph backup:\" to make it easier for reviewers to find -- this sounds like a large Cinder change.","commit_id":"a658afa44ea9a1566e6d8453a6fe0808f1d797b3"}],"cinder/backup/drivers/ceph.py":[{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"69788d875a49dbf222a6379490538d572411450a","unresolved":false,"context_lines":[{"line_number":529,"context_line":"            LOG.error(\"Pipe1 failed - %s \", e)"},{"line_number":530,"context_line":"            raise"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"        # NOTE(dosaboy): ensure that the pipe is blocking. This is to work"},{"line_number":533,"context_line":"        # around the case where evenlet.green.subprocess is used which seems to"},{"line_number":534,"context_line":"        # use a non-blocking pipe."},{"line_number":535,"context_line":"        flags \u003d fcntl.fcntl(p1.stdout, fcntl.F_GETFL) \u0026 (~os.O_NONBLOCK)"},{"line_number":536,"context_line":"        fcntl.fcntl(p1.stdout, fcntl.F_SETFL, flags)"},{"line_number":537,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_ee4640c0","line":534,"range":{"start_line":532,"start_character":0,"end_line":534,"end_character":33},"updated":"2017-05-25 02:01:20.000000000","message":"Could you say something to overthrow him?","commit_id":"0761cdaf6e63fc7faea715f96e23f2ca0dec98e8"},{"author":{"_account_id":22059,"name":"zheng yin","email":"yin__zheng@163.com","username":"zy751713126"},"change_message_id":"165b73fdb7b30525342809116d48444406d47528","unresolved":false,"context_lines":[{"line_number":529,"context_line":"            LOG.error(\"Pipe1 failed - %s \", e)"},{"line_number":530,"context_line":"            raise"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"        # NOTE(dosaboy): ensure that the pipe is blocking. This is to work"},{"line_number":533,"context_line":"        # around the case where evenlet.green.subprocess is used which seems to"},{"line_number":534,"context_line":"        # use a non-blocking pipe."},{"line_number":535,"context_line":"        flags \u003d fcntl.fcntl(p1.stdout, fcntl.F_GETFL) \u0026 (~os.O_NONBLOCK)"},{"line_number":536,"context_line":"        fcntl.fcntl(p1.stdout, fcntl.F_SETFL, flags)"},{"line_number":537,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_a98f2228","line":534,"range":{"start_line":532,"start_character":0,"end_line":534,"end_character":33},"in_reply_to":"ff0f0b1f_ee4640c0","updated":"2017-05-25 02:30:53.000000000","message":"When I use subprocess, pipe is blocking and cinder-backup servce can not report its status to db, then cinder-backup service is down after 60s. When I use eventlet.green.subprocess, it is a non-blocking pipe, this pipe can execute command while cinder-backup service can report its state to db and other tasks also can do. thanks","commit_id":"0761cdaf6e63fc7faea715f96e23f2ca0dec98e8"}],"cinder/tests/unit/backup/drivers/test_backup_ceph.py":[{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"69788d875a49dbf222a6379490538d572411450a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        # NOTE(dosaboy): mock Popen to, by default, raise Exception in order to"},{"line_number":75,"context_line":"        #                ensure that any test ending up in a subprocess fails"},{"line_number":76,"context_line":"        #                if not properly mocked."},{"line_number":77,"context_line":"        @mock.patch(\u0027subprocess.Popen\u0027, spec\u003dTrue)"},{"line_number":78,"context_line":"        # NOTE(dosaboy): mock out eventlet.sleep() so that it does nothing."},{"line_number":79,"context_line":"        @mock.patch(\u0027eventlet.sleep\u0027, spec\u003dTrue)"},{"line_number":80,"context_line":"        @mock.patch(\u0027time.time\u0027, spec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_ae7ba8f2","line":77,"range":{"start_line":77,"start_character":21,"end_line":77,"end_character":37},"updated":"2017-05-25 02:01:20.000000000","message":"will this be changed too?","commit_id":"0761cdaf6e63fc7faea715f96e23f2ca0dec98e8"},{"author":{"_account_id":22059,"name":"zheng yin","email":"yin__zheng@163.com","username":"zy751713126"},"change_message_id":"165b73fdb7b30525342809116d48444406d47528","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        # NOTE(dosaboy): mock Popen to, by default, raise Exception in order to"},{"line_number":75,"context_line":"        #                ensure that any test ending up in a subprocess fails"},{"line_number":76,"context_line":"        #                if not properly mocked."},{"line_number":77,"context_line":"        @mock.patch(\u0027subprocess.Popen\u0027, spec\u003dTrue)"},{"line_number":78,"context_line":"        # NOTE(dosaboy): mock out eventlet.sleep() so that it does nothing."},{"line_number":79,"context_line":"        @mock.patch(\u0027eventlet.sleep\u0027, spec\u003dTrue)"},{"line_number":80,"context_line":"        @mock.patch(\u0027time.time\u0027, spec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_89e57ede","line":77,"range":{"start_line":77,"start_character":21,"end_line":77,"end_character":37},"in_reply_to":"ff0f0b1f_ae7ba8f2","updated":"2017-05-25 02:30:53.000000000","message":"yes, I will change it.","commit_id":"0761cdaf6e63fc7faea715f96e23f2ca0dec98e8"}]}
