)]}'
{"id":"openstack%2Fceilometer~210503","triplet_id":"openstack%2Fceilometer~master~Ie561ec7ee7ec8b6d4a535ba7b20569b5a1101878","project":"openstack/ceilometer","branch":"master","topic":"bug/1481244","hashtags":[],"change_id":"Ie561ec7ee7ec8b6d4a535ba7b20569b5a1101878","subject":"Correct thread handling in TranslationHook","status":"MERGED","created":"2015-08-07 15:48:45.000000000","updated":"2015-08-11 10:54:06.000000000","submitted":"2015-08-11 10:54:04.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"5b910d8eb2c21475a054437ed446bcade0ee5c63","_number":210503,"virtual_id_number":210503,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"date":"2015-08-10 09:33:50.000000000","_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},{"value":2,"date":"2015-08-11 10:54:04.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},{"value":0,"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"all":[{"value":0,"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2015-08-10 08:52:45.000000000","_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":2,"date":"2015-08-11 09:39:49.000000000","_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},{"value":0,"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"}],"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":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"all":[{"value":0,"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"date":"2015-08-10 18:07:11.000000000","_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":1,"date":"2015-08-11 09:39:49.000000000","_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},{"value":0,"date":"2015-08-10 18:07:19.000000000","_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},{"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-08-08 08:41:49.000000000","updated_by":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"reviewer":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"state":"REVIEWER"},{"updated":"2015-08-10 09:33:50.000000000","updated_by":{"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},"reviewer":{"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},"state":"REVIEWER"},{"updated":"2015-08-10 18:07:11.000000000","updated_by":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"reviewer":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"state":"REVIEWER"},{"updated":"2015-08-10 18:07:19.000000000","updated_by":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"reviewer":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"state":"REVIEWER"},{"updated":"2015-08-11 09:39:49.000000000","updated_by":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"reviewer":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"state":"REVIEWER"},{"updated":"2015-08-11 10:54:04.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"a80626e7d00841583157812db2b686602dfcf7d5","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2015-08-07 15:48:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f07b54cbc1d904a27474bdbac6e4d28d42594258","author":{"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},"date":"2015-08-07 16:07:05.000000000","message":"Patch Set 1:\n\n* ipmi-test http://52.27.155.124/ipmi/210503/1 : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"43031f0a6552ff08ce653b0f36c03a41e229cfc4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-07 18:20:32.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-ceilometer-pep8 http://logs.openstack.org/03/210503/1/check/gate-ceilometer-pep8/148961e/ : SUCCESS in 4m 04s\n- gate-ceilometer-docs http://docs-draft.openstack.org/03/210503/1/check/gate-ceilometer-docs/a2be89a//doc/build/html/ : SUCCESS in 7m 12s\n- gate-ceilometer-python27 http://logs.openstack.org/03/210503/1/check/gate-ceilometer-python27/7290d5c/ : FAILURE in 6m 46s\n- gate-ceilometer-python34 http://logs.openstack.org/03/210503/1/check/gate-ceilometer-python34/a84cd36/ : FAILURE in 6m 40s\n- gate-tempest-dsvm-full http://logs.openstack.org/03/210503/1/check/gate-tempest-dsvm-full/e4adb37/ : SUCCESS in 39m 47s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/03/210503/1/check/gate-tempest-dsvm-postgres-full/79127a1/ : SUCCESS in 50m 23s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/03/210503/1/check/gate-tempest-dsvm-neutron-full/887e9c4/ : SUCCESS in 1h 11m 22s\n- gate-grenade-dsvm http://logs.openstack.org/03/210503/1/check/gate-grenade-dsvm/3775783/ : SUCCESS in 50m 46s\n- gate-devstack-dsvm-cells http://logs.openstack.org/03/210503/1/check/gate-devstack-dsvm-cells/98d419d/ : SUCCESS in 30m 03s\n- gate-tempest-dsvm-ceilometer-mongodb-full http://logs.openstack.org/03/210503/1/check/gate-tempest-dsvm-ceilometer-mongodb-full/06b5ae6/ : SUCCESS in 53m 47s (non-voting)\n- gate-ceilometer-dsvm-functional-mongodb http://logs.openstack.org/03/210503/1/check/gate-ceilometer-dsvm-functional-mongodb/59297c9/ : SUCCESS in 32m 19s","accounts_in_message":[],"_revision_number":1},{"id":"5e1562fb95d3d7e27bf53f6a5178f07607a94db6","author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"date":"2015-08-08 08:41:49.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"f76f61706f4ba99a4aab58cf80ad933a544efb3c","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2015-08-10 08:52:45.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"a75f8e25778b4919e9c0d310386cba791b5b65f1","author":{"_account_id":15843,"name":"Intel Hardware-Meters CI","email":"ipmi-ci@intel.com","username":"ipmici"},"date":"2015-08-10 09:33:50.000000000","message":"Patch Set 2:\n\n* ipmi-test http://52.27.155.124/ipmi/210503/2 : FAILURE","accounts_in_message":[],"_revision_number":2},{"id":"ab01cbc576db1e936bf4d6f118a6d5f272765899","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-10 10:04:50.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-ceilometer-pep8 http://logs.openstack.org/03/210503/2/check/gate-ceilometer-pep8/54c21d9/ : SUCCESS in 3m 26s\n- gate-ceilometer-docs http://docs-draft.openstack.org/03/210503/2/check/gate-ceilometer-docs/87b0cf6//doc/build/html/ : SUCCESS in 8m 01s\n- gate-ceilometer-python27 http://logs.openstack.org/03/210503/2/check/gate-ceilometer-python27/8cf8a18/ : SUCCESS in 3m 58s\n- gate-ceilometer-python34 http://logs.openstack.org/03/210503/2/check/gate-ceilometer-python34/575926e/ : SUCCESS in 6m 31s\n- gate-tempest-dsvm-full http://logs.openstack.org/03/210503/2/check/gate-tempest-dsvm-full/3664a4d/ : SUCCESS in 42m 21s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/03/210503/2/check/gate-tempest-dsvm-postgres-full/6f9d0bf/ : SUCCESS in 53m 20s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/03/210503/2/check/gate-tempest-dsvm-neutron-full/7706e06/ : SUCCESS in 1h 10m 08s\n- gate-grenade-dsvm http://logs.openstack.org/03/210503/2/check/gate-grenade-dsvm/12808f4/ : SUCCESS in 41m 38s\n- gate-devstack-dsvm-cells http://logs.openstack.org/03/210503/2/check/gate-devstack-dsvm-cells/3631b30/ : SUCCESS in 23m 12s\n- gate-tempest-dsvm-ceilometer-mongodb-full http://logs.openstack.org/03/210503/2/check/gate-tempest-dsvm-ceilometer-mongodb-full/0ade13c/ : SUCCESS in 54m 11s (non-voting)\n- gate-ceilometer-dsvm-functional-mongodb http://logs.openstack.org/03/210503/2/check/gate-ceilometer-dsvm-functional-mongodb/52ccda3/ : SUCCESS in 30m 48s","accounts_in_message":[],"_revision_number":2},{"id":"24311be2fbcdda3bbad6281380a276ba415c77af","author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"date":"2015-08-11 09:39:49.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"4b1c83aaed32875bce43201871b0ae2f8d8a5633","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-11 09:39:55.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"f16b81abe38a62b296a7b65a0b6667cc59aca724","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-11 10:54:04.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-ceilometer-docs http://docs-draft.openstack.org/03/210503/2/gate/gate-ceilometer-docs/affbef8//doc/build/html/ : SUCCESS in 4m 58s\n- gate-ceilometer-pep8 http://logs.openstack.org/03/210503/2/gate/gate-ceilometer-pep8/ea15ceb/ : SUCCESS in 4m 03s\n- gate-ceilometer-python27 http://logs.openstack.org/03/210503/2/gate/gate-ceilometer-python27/65b9330/ : SUCCESS in 4m 48s\n- gate-ceilometer-python34 http://logs.openstack.org/03/210503/2/gate/gate-ceilometer-python34/22f47be/ : SUCCESS in 7m 08s\n- gate-tempest-dsvm-full http://logs.openstack.org/03/210503/2/gate/gate-tempest-dsvm-full/2eef3f0/ : SUCCESS in 42m 04s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/03/210503/2/gate/gate-tempest-dsvm-postgres-full/9f35ba6/ : SUCCESS in 50m 52s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/03/210503/2/gate/gate-tempest-dsvm-neutron-full/da511bf/ : SUCCESS in 1h 13m 39s\n- gate-grenade-dsvm http://logs.openstack.org/03/210503/2/gate/gate-grenade-dsvm/80b010f/ : SUCCESS in 47m 53s\n- gate-devstack-dsvm-cells http://logs.openstack.org/03/210503/2/gate/gate-devstack-dsvm-cells/7bec0bb/ : SUCCESS in 27m 21s\n- gate-ceilometer-dsvm-functional-mongodb http://logs.openstack.org/03/210503/2/gate/gate-ceilometer-dsvm-functional-mongodb/9fd3f5a/ : SUCCESS in 37m 18s","accounts_in_message":[],"_revision_number":2},{"id":"18ff7f9e1fc92abbccdd992aa27e38333f058a5b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-11 10:54:06.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"8290bdea6d23941d962b94ad5e0956732d04f43b","revisions":{"75163c0e6304e5b59d9c5d66f87060cc93d9385f":{"kind":"REWORK","_number":1,"created":"2015-08-07 15:48:45.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/03/210503/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/03/210503/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/1"}}},"commit":{"parents":[{"commit":"74d7c399232477e61fabbb0a53bb685fa4b5a6e1","subject":"Merge \"Convert identity, sahara and volume to meters yaml\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/74d7c399232477e61fabbb0a53bb685fa4b5a6e1"}]}],"author":{"name":"Chris Dent","email":"chdent@redhat.com","date":"2015-08-07 15:45:00.000000000","tz":0},"committer":{"name":"Chris Dent","email":"chdent@redhat.com","date":"2015-08-07 15:45:00.000000000","tz":0},"subject":"Correct thread handling in TranslationHook","message":"Correct thread handling in TranslationHook\n\nTranslationHook was using a threading.local() to store an error\nmessage however the threading.local() was being created in __init__\nof the Hook. Hooks are not per request, so this wasn\u0027t really\nworking as planned.\n\nNow, instead of using threading.local() at all, we just modify the\nenviron held by pecan (and later used by the\nParsableErrorMiddleware). environ is request-local.\n\nThis change feels a bit crufty because it is but because of the way\nExceptions are managed in the app there\u0027s not really any good way to do\nit. We could consider changing the way Exceptions related to error\nmessages, but that would be a very large change.\n\nDuplicated from similar change in aodh:\nI463059df28f291cea0644b1a9908a907f146ba1f\n\nChange-Id: Ie561ec7ee7ec8b6d4a535ba7b20569b5a1101878\nCloses-Bug: #1481244\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/75163c0e6304e5b59d9c5d66f87060cc93d9385f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/75163c0e6304e5b59d9c5d66f87060cc93d9385f"}]},"branch":"refs/heads/master"},"8290bdea6d23941d962b94ad5e0956732d04f43b":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2015-08-10 08:52:45.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/03/210503/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/03/210503/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/03/210503/2"}}},"commit":{"parents":[{"commit":"a68448b97525c8e8cb49201818980184cb5bbb36","subject":"Merge \"Don\u0027t start up mongodb for unit test coverage\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a68448b97525c8e8cb49201818980184cb5bbb36"}]}],"author":{"name":"Chris Dent","email":"chdent@redhat.com","date":"2015-08-07 15:45:00.000000000","tz":0},"committer":{"name":"Chris Dent","email":"chdent@redhat.com","date":"2015-08-10 08:52:28.000000000","tz":60},"subject":"Correct thread handling in TranslationHook","message":"Correct thread handling in TranslationHook\n\nTranslationHook was using a threading.local() to store an error\nmessage however the threading.local() was being created in __init__\nof the Hook. Hooks are not per request, so this wasn\u0027t really\nworking as planned.\n\nNow, instead of using threading.local() at all, we just modify the\nenviron held by pecan (and later used by the\nParsableErrorMiddleware). environ is request-local.\n\nThis change feels a bit crufty because it is but because of the way\nExceptions are managed in the app there\u0027s not really any good way to do\nit. We could consider changing the way Exceptions related to error\nmessages, but that would be a very large change.\n\nDuplicated from similar change in aodh:\nI463059df28f291cea0644b1a9908a907f146ba1f\n\nChange-Id: Ie561ec7ee7ec8b6d4a535ba7b20569b5a1101878\nCloses-Bug: #1481244\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8290bdea6d23941d962b94ad5e0956732d04f43b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8290bdea6d23941d962b94ad5e0956732d04f43b"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
