)]}'
{"id":"openstack%2Ftaskflow~155663","triplet_id":"openstack%2Ftaskflow~master~Ifb3967e1c1da41e1b7ac0793fc6a99f84de2a907","project":"openstack/taskflow","branch":"master","hashtags":[],"change_id":"Ifb3967e1c1da41e1b7ac0793fc6a99f84de2a907","subject":"Improve multilock class and its associated unit test","status":"MERGED","created":"2015-02-13 07:20:59.000000000","updated":"2015-02-18 05:02:47.000000000","submitted":"2015-02-18 05:02:45.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"c8f3966e329a7285d00a81e797086206c7360b7e","_number":155663,"virtual_id_number":155663,"owner":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":2,"date":"2015-02-18 05:02:45.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"}],"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":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"all":[{"value":2,"date":"2015-02-18 04:17:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"}],"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":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"all":[{"value":1,"date":"2015-02-18 04:17:23.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-02-13 07:51:26.000000000","updated_by":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"reviewer":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"state":"REVIEWER"},{"updated":"2015-02-18 05:02:45.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"1823495eff1f1680ab6343cb36f1c3a455be868a","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2015-02-13 07:20:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e74f56220a73495be6de3b38e52a87c3b34f1685","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2015-02-13 07:51:26.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nI didn\u0027t look at lock code yet, just a quick note inline.","accounts_in_message":[],"_revision_number":1},{"id":"b2ff49b1a1b8b15a1f6a1ee68cbbaf0dc965b867","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-02-13 08:08:04.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-python26 http://logs.openstack.org/63/155663/1/check/gate-taskflow-python26/782fad5/ : SUCCESS in 1m 33s\n- gate-taskflow-pep8 http://logs.openstack.org/63/155663/1/check/gate-taskflow-pep8/be2fc6a/ : SUCCESS in 1m 11s\n- gate-taskflow-docs http://docs-draft.openstack.org/63/155663/1/check/gate-taskflow-docs/a03878e//doc/build/html/ : SUCCESS in 1m 15s\n- gate-taskflow-python27 http://logs.openstack.org/63/155663/1/check/gate-taskflow-python27/e82458b/ : SUCCESS in 1m 32s\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/63/155663/1/check/gate-tempest-dsvm-neutron-src-taskflow/74baf9d/ : SUCCESS in 44m 47s\n- gate-taskflow-python34 http://logs.openstack.org/63/155663/1/check/gate-taskflow-python34/17461e0/ : SUCCESS in 2m 47s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/63/155663/1/check/gate-taskflow-tox-py26-sa7-mysql/c175035/ : SUCCESS in 1m 37s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/63/155663/1/check/gate-taskflow-tox-py27-sa8-mysql/73a15bc/ : SUCCESS in 1m 14s","accounts_in_message":[],"_revision_number":1},{"id":"f1e75ba6ea404fb5a3bd5a3ede43244449946ebc","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2015-02-13 16:12:58.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"7a2a1d864b952f764240b000b0e3d6bc8431a055","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2015-02-13 19:34:10.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"0bfe5cd25f626fd5583489d86c584712ebcbe72d","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2015-02-13 19:45:41.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"58706df5cebb775e4316338a67c1fdec7957d509","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-02-13 20:30:44.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-python26 http://logs.openstack.org/63/155663/2/check/gate-taskflow-python26/6a96105/ : SUCCESS in 1m 31s\n- gate-taskflow-pep8 http://logs.openstack.org/63/155663/2/check/gate-taskflow-pep8/518ac97/ : SUCCESS in 1m 00s\n- gate-taskflow-docs http://docs-draft.openstack.org/63/155663/2/check/gate-taskflow-docs/258202f//doc/build/html/ : SUCCESS in 1m 22s\n- gate-taskflow-python27 http://logs.openstack.org/63/155663/2/check/gate-taskflow-python27/167ba5f/ : SUCCESS in 1m 49s\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/63/155663/2/check/gate-tempest-dsvm-neutron-src-taskflow/fa5666e/ : SUCCESS in 45m 00s\n- gate-taskflow-python34 http://logs.openstack.org/63/155663/2/check/gate-taskflow-python34/cb76494/ : SUCCESS in 2m 33s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/63/155663/2/check/gate-taskflow-tox-py26-sa7-mysql/33c5b37/ : SUCCESS in 1m 25s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/63/155663/2/check/gate-taskflow-tox-py27-sa8-mysql/de07dc1/ : SUCCESS in 1m 32s","accounts_in_message":[],"_revision_number":2},{"id":"a22d9ce324218c64c6c19cd1e83edfa4e8bde612","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2015-02-18 04:17:23.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"35e323d4459fb256b7759179c2db3cdefe0d19db","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-02-18 04:17:27.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"1275c2c0513ecfd0e365bc716f2c04ef97af9935","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-02-18 05:02:45.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-taskflow-python26 http://logs.openstack.org/63/155663/2/gate/gate-taskflow-python26/a64b26f/ : SUCCESS in 1m 57s\n- gate-taskflow-docs http://docs-draft.openstack.org/63/155663/2/gate/gate-taskflow-docs/183eeb7//doc/build/html/ : SUCCESS in 1m 09s\n- gate-taskflow-pep8 http://logs.openstack.org/63/155663/2/gate/gate-taskflow-pep8/cb3a7d4/ : SUCCESS in 59s\n- gate-taskflow-python27 http://logs.openstack.org/63/155663/2/gate/gate-taskflow-python27/00c2fed/ : SUCCESS in 1m 54s\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/63/155663/2/gate/gate-tempest-dsvm-neutron-src-taskflow/49a0e77/ : SUCCESS in 45m 17s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/63/155663/2/gate/gate-taskflow-tox-py26-sa7-mysql/1a19b4c/ : SUCCESS in 1m 29s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/63/155663/2/gate/gate-taskflow-tox-py27-sa8-mysql/ed0c467/ : SUCCESS in 1m 45s\n- gate-taskflow-python34 http://logs.openstack.org/63/155663/2/gate/gate-taskflow-python34/d75712a/ : SUCCESS in 2m 30s","accounts_in_message":[],"_revision_number":2},{"id":"c8f3966e329a7285d00a81e797086206c7360b7e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-02-18 05:02:47.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"23c83e0f8e617a25cca31a88c6af9ab2f53e4439","revisions":{"e8e1ab49981a217351603c09074019e6ee83b1a6":{"kind":"REWORK","_number":1,"created":"2015-02-13 07:20:59.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/63/155663/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/63/155663/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/63/155663/1"}}},"commit":{"parents":[{"commit":"0a33d68c1e35bbc66b6a3e0331dfd196c9e1c4de","subject":"Merge \"Clarify documentation related to inputs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0a33d68c1e35bbc66b6a3e0331dfd196c9e1c4de"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2015-02-13 07:08:15.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2015-02-13 07:20:15.000000000","tz":-480},"subject":"Improve multilock class and its associated unit test","message":"Improve multilock class and its associated unit test\n\nIn the multilock unit test check that all values were\nacquired (as expected). Also use a class constant for\nthe number of threads to spin up when testing timing\noverlaps and use the module constant for the duration\nto wait (to try to trigger overlaps) and use a new helper\nutility function to make it more obvious what is happening\nin the multilock release method.\n\nAlso swaps out the usage of time.time in the lock utils\nunit test to attempt to use monotonic time (when it can\nbe used) so that false positives are unable to happen (using\ntime.time it is possible for time to go backwards and cause\na non-existent overlap to appear).\n\nChange-Id: Ifb3967e1c1da41e1b7ac0793fc6a99f84de2a907\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/e8e1ab49981a217351603c09074019e6ee83b1a6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/e8e1ab49981a217351603c09074019e6ee83b1a6"}]},"branch":"refs/heads/master"},"23c83e0f8e617a25cca31a88c6af9ab2f53e4439":{"kind":"REWORK","_number":2,"created":"2015-02-13 19:45:41.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/63/155663/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/63/155663/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/63/155663/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/63/155663/2"}}},"commit":{"parents":[{"commit":"0a33d68c1e35bbc66b6a3e0331dfd196c9e1c4de","subject":"Merge \"Clarify documentation related to inputs\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0a33d68c1e35bbc66b6a3e0331dfd196c9e1c4de"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2015-02-13 07:08:15.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2015-02-13 19:45:33.000000000","tz":-480},"subject":"Improve multilock class and its associated unit test","message":"Improve multilock class and its associated unit test\n\nIn the multilock unit test check that all values were\nacquired (as expected). Also use a class constant for\nthe number of threads to spin up when testing timing\noverlaps and use the module constant for the duration\nto wait (to try to trigger overlaps) and use a new helper\nutility function to make it more obvious what is happening\nin the multilock release method.\n\nAlso swaps out the usage of time.time in the lock utils\nunit test to attempt to use monotonic time (when it can\nbe used) so that false positives are unable to happen (using\ntime.time it is possible for time to go backwards and cause\na non-existent overlap to appear).\n\nChange-Id: Ifb3967e1c1da41e1b7ac0793fc6a99f84de2a907\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/23c83e0f8e617a25cca31a88c6af9ab2f53e4439"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/23c83e0f8e617a25cca31a88c6af9ab2f53e4439"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
