)]}'
{"id":"openstack%2Fpython-ceilometerclient~102774","triplet_id":"openstack%2Fpython-ceilometerclient~master~If47bfd748fc76d62ed3528f5d01d0306ecf737f6","project":"openstack/python-ceilometerclient","branch":"master","topic":"bug/1334566","hashtags":[],"change_id":"If47bfd748fc76d62ed3528f5d01d0306ecf737f6","subject":"Avoid using mutable objects for default parameter value","status":"ABANDONED","created":"2014-06-26 09:02:59.000000000","updated":"2014-07-03 12:20:10.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"aade685e4521761fe3cdff06e21f73ced0b0b329","_number":102774,"virtual_id_number":102774,"owner":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"actions":{},"labels":{"Verified":{"all":[{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},{"date":"2014-07-03 12:20:06.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"all":[{"value":1,"date":"2014-07-03 12:20:01.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},{"value":1,"date":"2014-07-03 12:20:01.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},{"value":2,"date":"2014-07-03 12:20:01.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"permitted_voting_range":{"min":-1,"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":{"all":[{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-06-26 10:06:12.000000000","updated_by":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"reviewer":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"state":"REVIEWER"},{"updated":"2014-06-28 07:30:21.000000000","updated_by":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"reviewer":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"state":"REVIEWER"},{"updated":"2014-07-03 03:06:38.000000000","updated_by":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"reviewer":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"state":"REVIEWER"},{"updated":"2014-07-03 09:33:28.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":"2014-07-03 12:20:06.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"6123931ac1b815b24d71b9e3e7635ddf9e3d458c","author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"date":"2014-06-26 09:02:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0774659a8f735fc4a622e9ff06d0c9aa1d86275b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-06-26 09:03:00.000000000","message":"Patch Set 1:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"6d4f1024e6f40480e5c844f9c6ad754c181fb075","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-06-26 09:57:25.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-ceilometerclient-pep8 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-pep8/060411b : SUCCESS in 1m 17s\n- gate-python-ceilometerclient-docs http://docs-draft.openstack.org/74/102774/1/check/gate-python-ceilometerclient-docs/6900cba/doc/build/html/ : SUCCESS in 1m 34s\n- gate-python-ceilometerclient-python26 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python26/aa5b8cd : SUCCESS in 35s\n- gate-python-ceilometerclient-python27 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python27/83421d8 : SUCCESS in 1m 21s\n- check-tempest-dsvm-full http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full/fcc208c : SUCCESS in 42m 25s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-postgres-full/19837fc : SUCCESS in 40m 21s\n- check-tempest-dsvm-neutron http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron/993169b : SUCCESS in 50m 31s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-heat-slow/605f96d : SUCCESS in 20m 23s\n- check-grenade-dsvm http://logs.openstack.org/74/102774/1/check/check-grenade-dsvm/7ad63a3 : SUCCESS in 34m 20s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full-havana/6c9d070 : SUCCESS in 34m 08s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-havana/7a4c3b3 : SUCCESS in 34m 55s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full-icehouse/c5164f5 : SUCCESS in 39m 54s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-icehouse/2a0c450 : SUCCESS in 50m 06s\n- gate-python-ceilometerclient-python33 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python33/05f4b20 : SUCCESS in 2m 41s\n- gate-python-ceilometerclient-pypy http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-pypy/c2c1ac8 : SUCCESS in 1m 47s\n- check-devstack-dsvm-cells http://logs.openstack.org/74/102774/1/check/check-devstack-dsvm-cells/d174e0b : SUCCESS in 13m 25s","accounts_in_message":[],"_revision_number":1},{"id":"87c3c6c44b4fce7b0375c07c64f001f3c9a84318","author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"date":"2014-06-26 10:06:12.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"42b039eb3db520f46661f5d479369bea9811daf5","author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"date":"2014-07-03 03:06:38.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"818909736d22ac9f2993c3634c4df662aa632f2a","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-07-03 03:06:44.000000000","message":"Patch Set 1: -Verified\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"2a7038dd95f0dae3e495dea5cd65b0a7ae45b870","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-07-03 04:04:10.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-ceilometerclient-pep8 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-pep8/c99aa63 : SUCCESS in 1m 12s\n- gate-python-ceilometerclient-docs http://docs-draft.openstack.org/74/102774/1/check/gate-python-ceilometerclient-docs/6df964a/doc/build/html/ : SUCCESS in 1m 45s\n- gate-python-ceilometerclient-python26 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python26/8d5aaa0 : SUCCESS in 1m 23s\n- gate-python-ceilometerclient-python27 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python27/70faf14 : SUCCESS in 1m 39s\n- check-tempest-dsvm-full http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full/9566da2 : SUCCESS in 47m 52s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-postgres-full/4fe12e8 : SUCCESS in 51m 11s\n- check-tempest-dsvm-neutron http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron/d49db20 : SUCCESS in 52m 34s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-heat-slow/a47a024 : SUCCESS in 26m 55s\n- check-grenade-dsvm http://logs.openstack.org/74/102774/1/check/check-grenade-dsvm/cd94833 : SUCCESS in 46m 52s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full-havana/0806c67 : SUCCESS in 35m 58s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-havana/163fd6f : SUCCESS in 37m 42s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-full-icehouse/b8345a0 : SUCCESS in 50m 30s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/74/102774/1/check/check-tempest-dsvm-neutron-icehouse/c561575 : SUCCESS in 52m 09s\n- gate-python-ceilometerclient-python33 http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-python33/af41e3f : SUCCESS in 3m 18s\n- gate-python-ceilometerclient-pypy http://logs.openstack.org/74/102774/1/check/gate-python-ceilometerclient-pypy/2576f37 : SUCCESS in 1m 45s\n- check-devstack-dsvm-cells http://logs.openstack.org/74/102774/1/check/check-devstack-dsvm-cells/97da38f : SUCCESS in 14m 14s","accounts_in_message":[],"_revision_number":1},{"id":"a383f7454046db8f924cbd9683f855cf43fa16f2","author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"date":"2014-07-03 09:33:28.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"173f48a0fedee7afe7cc683e93ccfb397fbb8781","author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"date":"2014-07-03 10:35:13.000000000","message":"Patch Set 1: Workflow-1","accounts_in_message":[],"_revision_number":1},{"id":"40367923aaf4e49bf8f86cfcb2de1f7b95844fc4","author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"date":"2014-07-03 10:39:20.000000000","message":"Patch Set 1:\n\nAccording to the review comment in hacking project, I clearly realize that only the parameters which will be modified in the functions should not use mutable default value.\n\nSo I don\u0027t know should we check carefully when review code, or just rudely disable such behavior.","accounts_in_message":[],"_revision_number":1},{"id":"e451fabe4f4d076c4310cb221562cc30fa59ea0a","author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"date":"2014-07-03 12:20:01.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":1},{"id":"0b62443ad6f1e67a7e2c5ca9436c9d6b9f098b9c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-07-03 12:20:06.000000000","message":"Patch Set 2:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"29c6acc1e62b52b9bf3d57ea7566d0729dec4ad8","author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"date":"2014-07-03 12:20:10.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"4395eedb57a500d199c6701aeb15336a758ef610","revisions":{"319cc20cd14f01fcc952dd7e0047ed2043906f30":{"kind":"REWORK","_number":1,"created":"2014-06-26 09:02:59.000000000","uploader":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"ref":"refs/changes/74/102774/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ceilometerclient","ref":"refs/changes/74/102774/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/1"}}},"commit":{"parents":[{"commit":"9f41025689e53ea1f1c7a96198d4f09372910c40","subject":"Merge \"Fix alarm-threshold-update --query option\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/9f41025689e53ea1f1c7a96198d4f09372910c40"}]}],"author":{"name":"ZhiQiang Fan","email":"zhiqiang.fan@huawei.com","date":"2014-06-26 08:55:27.000000000","tz":480},"committer":{"name":"ZhiQiang Fan","email":"zhiqiang.fan@huawei.com","date":"2014-06-26 08:55:27.000000000","tz":480},"subject":"Avoid using mutable objects for default parameter value","message":"Avoid using mutable objects for default parameter value\n\nIf we use mutable objects as default parameter value, it can be\nchanged in function/method body, but that object is created at\ndefinition time, which means next time when we invoke the\nfunction/method with default value, it will be the old one, not a\nnewly created one, that can be dangerous.\n\nChange-Id: If47bfd748fc76d62ed3528f5d01d0306ecf737f6\nCloses-Bug: #1334566\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/319cc20cd14f01fcc952dd7e0047ed2043906f30"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/319cc20cd14f01fcc952dd7e0047ed2043906f30"}]},"branch":"refs/heads/master"},"4395eedb57a500d199c6701aeb15336a758ef610":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2014-07-03 12:20:01.000000000","uploader":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"ref":"refs/changes/74/102774/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-ceilometerclient","ref":"refs/changes/74/102774/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-ceilometerclient refs/changes/74/102774/2"}}},"commit":{"parents":[{"commit":"7f3be27367550a9974f880d306d7aa1571b5160b","subject":"Merge \"Update python-ceilometerclient to support Keystone V3 API\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/7f3be27367550a9974f880d306d7aa1571b5160b"}]}],"author":{"name":"ZhiQiang Fan","email":"zhiqiang.fan@huawei.com","date":"2014-06-26 08:55:27.000000000","tz":480},"committer":{"name":"ZhiQiang Fan","email":"aji.zqfan@gmail.com","date":"2014-07-03 12:20:01.000000000","tz":0},"subject":"Avoid using mutable objects for default parameter value","message":"Avoid using mutable objects for default parameter value\n\nIf we use mutable objects as default parameter value, it can be\nchanged in function/method body, but that object is created at\ndefinition time, which means next time when we invoke the\nfunction/method with default value, it will be the old one, not a\nnewly created one, that can be dangerous.\n\nChange-Id: If47bfd748fc76d62ed3528f5d01d0306ecf737f6\nCloses-Bug: #1334566\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/4395eedb57a500d199c6701aeb15336a758ef610"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-ceilometerclient/commit/4395eedb57a500d199c6701aeb15336a758ef610"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
