)]}'
{"id":"openstack%2Fglance~3863","triplet_id":"openstack%2Fglance~master~Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9","project":"openstack/glance","branch":"master","hashtags":[],"change_id":"Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9","subject":"Use sendfile() for zero-copy of uploaded images.","status":"MERGED","created":"2012-02-07 18:48:51.000000000","updated":"2012-02-08 18:21:32.000000000","submitted":"2012-02-08 18:16:38.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e06f0a12ea88cb46c5042e27e5e25bb596b60e7d","_number":3863,"virtual_id_number":3863,"owner":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2012-02-08 18:16:38.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":0,"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"all":[{"value":0,"date":"2012-02-08 18:16:38.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":2,"date":"2012-02-08 18:09:58.000000000","_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"date":"2012-02-08 17:46:30.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":1,"date":"2012-02-08 18:09:58.000000000","_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"date":"2012-02-08 17:46:30.000000000","_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":0,"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"value":0,"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-02-08 12:25:31.000000000","updated_by":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"reviewer":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"state":"REVIEWER"},{"updated":"2012-02-08 18:09:58.000000000","updated_by":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"reviewer":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"state":"REVIEWER"},{"updated":"2012-02-08 18:16:38.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"7c9a2ccf698a85e2f8cc2f571d44c9506253680f","author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"date":"2012-02-08 03:14:48.000000000","message":"Patch Set 1: Looks good to me, but someone else must approve\n\nEoghan, great work mate. I added a blueprint for this:\n\nhttps://blueprints.launchpad.net/glance/+spec/support-sendfile\n\nPlease feel free to amend the commit message to mention implements bp support-sendfile\n\nCheers,\n\n-jay","accounts_in_message":[],"_revision_number":1},{"id":"22bbb0076aae7dab3db4e5029e9eac4d8baca2b9","author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"date":"2012-02-08 09:40:35.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6d19e7791588a09d8344806969640e64f7feca46","author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"date":"2012-02-08 09:41:45.000000000","message":"Patch Set 2:\n\nHi Jay,\n\nCommit message updated for patch set 2.\n\nCheers,\nEoghan","accounts_in_message":[],"_revision_number":2},{"id":"7b6f69a4cbc9ef8bafea89ecab9e62ed728ef2ec","author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"date":"2012-02-08 12:25:31.000000000","message":"Patch Set 2:\n\nRemember to warn the ML about the new dependency.","accounts_in_message":[],"_revision_number":2},{"id":"ad8a9a474523c53e311820c02ce3b32b9ca3892c","author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"date":"2012-02-08 17:40:15.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"3374ac1df478c103df8b4df795d078fe626a093f","author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"date":"2012-02-08 17:46:30.000000000","message":"Patch Set 3:\n\nHi Thierry,\n\nI\u0027ve updated patch set 3 to use a conditional import, so that glance is tolerant of pysendfile being unavailable.\n\nI\u0027ll also post a heads-up on the new dependency to the mailing list as requested.\n\nCheers,\nEoghan","accounts_in_message":[],"_revision_number":3},{"id":"2eb14171f864171e608e0e798dce82abfb16e5e7","author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"date":"2012-02-08 18:09:58.000000000","message":"Patch Set 3: Looks good to me (core reviewer); Approved\n\nNice conditional import update...","accounts_in_message":[],"_revision_number":3},{"id":"7b30d46469660abaeadeea65aa1c69c98fe77c4d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-02-08 18:16:38.000000000","message":"Patch Set 3: Verified\n\nBuild Successful \n \nhttps://jenkins.openstack.org/job/gate-glance-unittests/89520/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-integration-tests-devstack-vm/1205/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-glance-merge/340/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-glance-pep8/517/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"a611821c4cd44bb2cc38434e5b5a1072c66578a2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-02-08 18:16:38.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":3},{"id":"e06f0a12ea88cb46c5042e27e5e25bb596b60e7d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-02-08 18:21:32.000000000","message":"Patch Set 3:\n\nBuild Successful \n \nhttps://jenkins.openstack.org/job/glance-tarball/357/ : SUCCESS","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"7696ae5f2402314b56d8e03dcbad97d9b2b529af","revisions":{"19594a7d677183609273619fd5cf76f822516b11":{"kind":"REWORK","_number":1,"created":"2012-02-07 18:48:51.000000000","uploader":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"ref":"refs/changes/63/3863/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/63/3863/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/63/3863/1"}}},"commit":{"parents":[{"commit":"c6c458e6b6cd39b94f89c112c477cee9da8f7f45","subject":"Get rid of DeprecationWarning during db migration","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c6c458e6b6cd39b94f89c112c477cee9da8f7f45"}]}],"author":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-07 08:56:50.000000000","tz":0},"committer":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-07 18:43:51.000000000","tz":0},"subject":"Use sendfile() for zero-copy of uploaded images.","message":"Use sendfile() for zero-copy of uploaded images.\n\nAvoid needless client-side copying through userspace of uploaded\nimage file content, using pysendfile to wrap the sendfile() system\ncall instead of reading the file one chunk at a time.\n\nThe existing iterator pattern is maintained for consistency and\nto allow send progress to be followed by wrapping the iteration.\n\nThe performance gain only applies to the client--\u003eglance API service\nleg, so whether the overall speed-up is noticeable depends on the\nimage store in use. For example, it would be impreceptible with a\nstorage backend showing relatively high PUT latency, such as S3,\nas the blocking Store.add() call would dominate.\n\nAt the other extreme, uploading large images via the loopback to\nfile-based store is about 60% faster. Detailed performance figures\nfor more realistic scenarios to follow when hardware is available\nfor benchmarking.\n\nChange-Id: Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/19594a7d677183609273619fd5cf76f822516b11"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/19594a7d677183609273619fd5cf76f822516b11"}]},"branch":"refs/heads/master"},"9afd7447769d08b9acc4d9a502e4db2616557d3a":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2012-02-08 09:40:35.000000000","uploader":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"ref":"refs/changes/63/3863/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/63/3863/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/63/3863/2"}}},"commit":{"parents":[{"commit":"c6c458e6b6cd39b94f89c112c477cee9da8f7f45","subject":"Get rid of DeprecationWarning during db migration","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c6c458e6b6cd39b94f89c112c477cee9da8f7f45"}]}],"author":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-07 08:56:50.000000000","tz":0},"committer":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-08 09:38:31.000000000","tz":0},"subject":"Use sendfile() for zero-copy of uploaded images.","message":"Use sendfile() for zero-copy of uploaded images.\n\nImplements bp support-sendfile\n\nAvoid needless client-side copying through userspace of uploaded\nimage file content, using pysendfile to wrap the sendfile() system\ncall instead of reading the file one chunk at a time.\n\nThe existing iterator pattern is maintained for consistency and\nto allow send progress to be followed by wrapping the iteration.\n\nThe performance gain only applies to the client--\u003eglance API service\nleg, so whether the overall speed-up is noticeable depends on the\nimage store in use. For example, it would be imperceptible with a\nstorage backend showing relatively high PUT latency, such as S3,\nas the blocking Store.add() call would dominate.\n\nAt the other extreme, uploading large images via the loopback to\nfile-based store is about 60% faster. Detailed performance figures\nfor more realistic scenarios to follow when hardware is available\nfor benchmarking.\n\nChange-Id: Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9afd7447769d08b9acc4d9a502e4db2616557d3a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9afd7447769d08b9acc4d9a502e4db2616557d3a"}]},"branch":"refs/heads/master"},"7696ae5f2402314b56d8e03dcbad97d9b2b529af":{"kind":"REWORK","_number":3,"created":"2012-02-08 17:40:15.000000000","uploader":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"ref":"refs/changes/63/3863/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/63/3863/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/63/3863/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/63/3863/3"}}},"commit":{"parents":[{"commit":"ce35911f6f69f7d6af292cb3474d8e6b083c33af","subject":"Merge \"Blueprint cli-auth: common cli args\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/ce35911f6f69f7d6af292cb3474d8e6b083c33af"}]}],"author":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-07 08:56:50.000000000","tz":0},"committer":{"name":"Eoghan Glynn","email":"eglynn@redhat.com","date":"2012-02-08 17:38:04.000000000","tz":0},"subject":"Use sendfile() for zero-copy of uploaded images.","message":"Use sendfile() for zero-copy of uploaded images.\n\nImplements bp support-sendfile\n\nAvoid needless client-side copying through userspace of uploaded\nimage file content, using pysendfile to wrap the sendfile() system\ncall instead of reading the file one chunk at a time.\n\nThe existing iterator pattern is maintained for consistency and\nto allow send progress to be followed by wrapping the iteration.\n\nThe performance gain only applies to the client--\u003eglance API service\nleg, so whether the overall speed-up is noticeable depends on the\nimage store in use. For example, it would be imperceptible with a\nstorage backend showing relatively high PUT latency, such as S3,\nas the blocking Store.add() call would dominate.\n\nAt the other extreme, uploading large images via the loopback to\nfile-based store is about 60% faster. Detailed performance figures\nfor more realistic scenarios to follow when hardware is available\nfor benchmarking.\n\nChange-Id: Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/7696ae5f2402314b56d8e03dcbad97d9b2b529af"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/7696ae5f2402314b56d8e03dcbad97d9b2b529af"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
