)]}'
{"id":"openstack%2Ftaskflow~272326","triplet_id":"openstack%2Ftaskflow~master~I271bf1f23ad73df6c177cf00fd902c4881ba44ae","project":"openstack/taskflow","branch":"master","topic":"bug/1537948","hashtags":[],"change_id":"I271bf1f23ad73df6c177cf00fd902c4881ba44ae","subject":"Fix process based executor task proxying-back events","status":"MERGED","created":"2016-01-25 23:58:57.000000000","updated":"2017-07-11 10:48:25.000000000","submitted":"2017-07-11 10:48:25.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"271ea3420b7f166a1b4a30622c65a4b6d22f4fc5","_number":272326,"virtual_id_number":272326,"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":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":2,"date":"2017-07-11 10:48:25.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},{"value":0,"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true}],"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":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"all":[{"value":0,"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2017-07-11 09:31:27.000000000","_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},{"value":0,"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true}],"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":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"all":[{"value":0,"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2017-07-11 09:31:27.000000000","_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},{"value":0,"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},{"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":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},{"value":0,"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"value":0,"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true}],"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":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-01-29 03:45:17.000000000","updated_by":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"reviewer":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"state":"REVIEWER"},{"updated":"2016-03-09 20:06:40.000000000","updated_by":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"reviewer":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"state":"REVIEWER"},{"updated":"2016-04-28 19:37:31.000000000","updated_by":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"reviewer":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"state":"REVIEWER"},{"updated":"2017-07-11 09:31:27.000000000","updated_by":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"reviewer":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"state":"REVIEWER"},{"updated":"2017-07-11 10:48:25.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"7be7a65b721265a4695ebbf22641d20feba64115","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-25 23:58:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8464949ab327ee359b58dfee222572fec74a779d","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 00:17:36.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"85e47fd4ab67fc3a1e03b994ec809d05e96b8ed2","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 00:19:50.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"ccb060c077bf88da80bd1cfb58c097d9c5d9b597","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-26 01:32:12.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-pep8 http://logs.openstack.org/26/272326/3/check/gate-taskflow-pep8/f90e2b5/ : SUCCESS in 1m 03s\n- gate-taskflow-docs http://docs-draft.openstack.org/26/272326/3/check/gate-taskflow-docs/2497e7b//doc/build/html/ : SUCCESS in 1m 43s\n- gate-taskflow-python27 http://logs.openstack.org/26/272326/3/check/gate-taskflow-python27/f94f1d4/ : SUCCESS in 3m 13s\n- gate-taskflow-python34 http://logs.openstack.org/26/272326/3/check/gate-taskflow-python34/b9810fe/ : SUCCESS in 3m 10s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/3/check/gate-taskflow-pypy/25324ce/ : FAILURE in 2m 45s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/26/272326/3/check/gate-tempest-dsvm-neutron-src-taskflow/714bd00/ : SUCCESS in 1h 08m 40s","accounts_in_message":[],"_revision_number":3},{"id":"351cb83359398e156941d5835cc25b97e3b4c990","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 05:57:37.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"3745195dc83d18eb86900f6406461ff0594daff3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-26 07:01:20.000000000","message":"Patch Set 4: 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-taskflow-pep8 http://logs.openstack.org/26/272326/4/check/gate-taskflow-pep8/d80b032/ : SUCCESS in 1m 09s\n- gate-taskflow-docs http://docs-draft.openstack.org/26/272326/4/check/gate-taskflow-docs/7b99814//doc/build/html/ : SUCCESS in 2m 12s\n- gate-taskflow-python27 http://logs.openstack.org/26/272326/4/check/gate-taskflow-python27/97a2ea6/ : SUCCESS in 4m 26s\n- gate-taskflow-python34 http://logs.openstack.org/26/272326/4/check/gate-taskflow-python34/c5e643e/ : SUCCESS in 4m 24s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/4/check/gate-taskflow-pypy/fa24b03/ : FAILURE in 13m 26s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/26/272326/4/check/gate-tempest-dsvm-neutron-src-taskflow/6e179f4/ : UNSTABLE in 1h 03m 36s","accounts_in_message":[],"_revision_number":4},{"id":"81697526b2540dc3c0501d70541a6816b778c5f1","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 17:13:52.000000000","message":"Patch Set 4:\n\nrecheck","accounts_in_message":[],"_revision_number":4},{"id":"63a1e5973d6b23e7cccb26b4e44de0eb44dc282b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-26 18:32:10.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-pep8 http://logs.openstack.org/26/272326/4/check/gate-taskflow-pep8/99ef803/ : SUCCESS in 1m 29s\n- gate-taskflow-docs http://docs-draft.openstack.org/26/272326/4/check/gate-taskflow-docs/8ada4a7//doc/build/html/ : SUCCESS in 1m 23s\n- gate-taskflow-python27 http://logs.openstack.org/26/272326/4/check/gate-taskflow-python27/d2212ca/ : SUCCESS in 2m 46s\n- gate-taskflow-python34 http://logs.openstack.org/26/272326/4/check/gate-taskflow-python34/37779bc/ : SUCCESS in 2m 55s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/4/check/gate-taskflow-pypy/d3fab05/ : FAILURE in 1m 22s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/26/272326/4/check/gate-tempest-dsvm-neutron-src-taskflow/39bc2e7/ : SUCCESS in 57m 33s","accounts_in_message":[],"_revision_number":4},{"id":"712b32768746ba270dea06cd90f63e0bfd82ccf0","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 20:43:49.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"97490f959789a41dd17d7861580de89e50949454","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-26 20:47:08.000000000","message":"Uploaded patch set 6: Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"b2c6b4b72020deacc477f82453a9f4f5ee71f947","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-26 22:07:39.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-pep8 http://logs.openstack.org/26/272326/6/check/gate-taskflow-pep8/249cb9f/ : SUCCESS in 1m 08s\n- gate-taskflow-docs http://docs-draft.openstack.org/26/272326/6/check/gate-taskflow-docs/2a9dd8a//doc/build/html/ : SUCCESS in 1m 39s\n- gate-taskflow-python27 http://logs.openstack.org/26/272326/6/check/gate-taskflow-python27/282086e/ : SUCCESS in 3m 11s\n- gate-taskflow-python34 http://logs.openstack.org/26/272326/6/check/gate-taskflow-python34/d1cc222/ : SUCCESS in 2m 37s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/6/check/gate-taskflow-pypy/f5ded5a/ : FAILURE in 1m 11s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/26/272326/6/check/gate-tempest-dsvm-neutron-src-taskflow/3ab8f28/ : SUCCESS in 1h 05m 49s","accounts_in_message":[],"_revision_number":6},{"id":"49160300ab986f6278048a8c76a0a8711021a35f","author":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"date":"2016-01-27 18:11:43.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6},{"id":"a5e36d1a6e7f6724af3ab68d015307839e356748","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-27 20:12:19.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"48e85473bd6d3e8e7ce17d748666f5b59984200c","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-01-27 21:02:46.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"81e0ce2bcf03bece80e91758c6de4b2572217af7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-27 22:15:31.000000000","message":"Patch Set 8: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-pep8 http://logs.openstack.org/26/272326/8/check/gate-taskflow-pep8/0fb5958/ : SUCCESS in 1m 26s\n- gate-taskflow-docs http://docs-draft.openstack.org/26/272326/8/check/gate-taskflow-docs/ab973f9//doc/build/html/ : SUCCESS in 1m 27s\n- gate-taskflow-python27 http://logs.openstack.org/26/272326/8/check/gate-taskflow-python27/3519f6f/ : SUCCESS in 3m 15s\n- gate-taskflow-python34 http://logs.openstack.org/26/272326/8/check/gate-taskflow-python34/357f3a5/ : SUCCESS in 2m 59s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/8/check/gate-taskflow-pypy/5190108/ : FAILURE in 1m 22s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow http://logs.openstack.org/26/272326/8/check/gate-tempest-dsvm-neutron-src-taskflow/a364144/ : SUCCESS in 1h 02m 22s","accounts_in_message":[],"_revision_number":8},{"id":"c4861fcf90fb2905a56f6bfbdf4add7c08ee51f3","author":{"_account_id":9648,"name":"Greg Hill","email":"greg.hill@rackspace.com","username":"jimbobhickville"},"date":"2016-01-29 03:45:17.000000000","message":"Patch Set 8: Code-Review+2","accounts_in_message":[],"_revision_number":8},{"id":"166a008a4fbff83b21891828641eeff813ef8caf","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2016-02-29 18:40:33.000000000","message":"Patch Set 8: Code-Review-2\n\nThe mitaka release is in feature freeze and only bug fixes for mitaka will be accepted until a stable branch is created. The -2 will be removed when a stable branch is created.","accounts_in_message":[],"_revision_number":8},{"id":"d3887191c7c7ee0017335657ec5422ab3c6081fc","author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"date":"2016-03-09 20:06:40.000000000","message":"Patch Set 8: -Code-Review\n\nThis project is now open for new features.","accounts_in_message":[],"_revision_number":8},{"id":"d83a8272b7ccac48812c7a4a2bf14515d4f24612","author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"date":"2016-04-28 19:37:31.000000000","message":"Patch Set 8: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":8},{"id":"1b2f93b169f10ee565ee32861016819a6abc1721","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-28 19:43:31.000000000","message":"Patch Set 8: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":8},{"id":"3b4468e0494e36532f80707a399f58719190fe61","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-28 20:50:21.000000000","message":"Patch Set 8: Verified-2\n\nThis change depends on a change that failed to merge.","accounts_in_message":[],"_revision_number":8},{"id":"905198ca1bb346226161da873a406d9b1796468a","author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"date":"2017-07-11 03:17:04.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"d4287ade133e5de255567afee78fe599bb5c3639","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-11 05:52:25.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-taskflow-docs-ubuntu-xenial http://docs-draft.openstack.org/26/272326/9/check/gate-taskflow-docs-ubuntu-xenial/ad0ed2b//doc/build/html/ : SUCCESS in 4m 44s\n- gate-taskflow-pep8-ubuntu-xenial http://logs.openstack.org/26/272326/9/check/gate-taskflow-pep8-ubuntu-xenial/a13729a/ : SUCCESS in 2m 39s\n- gate-taskflow-python27-ubuntu-xenial http://logs.openstack.org/26/272326/9/check/gate-taskflow-python27-ubuntu-xenial/8ea15f9/ : SUCCESS in 4m 57s\n- gate-taskflow-python35 http://logs.openstack.org/26/272326/9/check/gate-taskflow-python35/fb32da5/ : SUCCESS in 3m 35s\n- gate-taskflow-pypy http://logs.openstack.org/26/272326/9/check/gate-taskflow-pypy/8f12946/ : FAILURE in 2m 35s (non-voting)\n- gate-tempest-dsvm-neutron-src-taskflow-ubuntu-xenial http://logs.openstack.org/26/272326/9/check/gate-tempest-dsvm-neutron-src-taskflow-ubuntu-xenial/a4c63f0/ : SUCCESS in 1h 16m 03s","accounts_in_message":[],"_revision_number":9},{"id":"b773518e4e27478adf3e4cfe4eacd3ec75ce22fa","author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"date":"2017-07-11 09:31:27.000000000","message":"Patch Set 9: Code-Review+2 Workflow+1\n\njust rebase, quick approve","accounts_in_message":[],"_revision_number":9},{"id":"57368253045b5ae89199dc069e0f3cd7cdd53552","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-11 09:31:39.000000000","message":"Patch Set 9: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":9},{"id":"013ae2cf446816e274dd5a450b8fbf2d3799ff25","date":"2017-07-11 10:48:25.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":9},{"id":"fd8c044a549dcb7d6f0e26bfb9f317ce734789a9","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-07-11 10:48:25.000000000","message":"Patch Set 9: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-taskflow-docs-ubuntu-xenial http://docs-draft.openstack.org/26/272326/9/gate/gate-taskflow-docs-ubuntu-xenial/20bef08//doc/build/html/ : SUCCESS in 4m 14s\n- gate-taskflow-pep8-ubuntu-xenial http://logs.openstack.org/26/272326/9/gate/gate-taskflow-pep8-ubuntu-xenial/ec6e2e8/ : SUCCESS in 4m 06s\n- gate-taskflow-python27-ubuntu-xenial http://logs.openstack.org/26/272326/9/gate/gate-taskflow-python27-ubuntu-xenial/74fbc82/ : SUCCESS in 4m 32s\n- gate-taskflow-python35 http://logs.openstack.org/26/272326/9/gate/gate-taskflow-python35/0341cf6/ : SUCCESS in 4m 06s\n- gate-tempest-dsvm-neutron-src-taskflow-ubuntu-xenial http://logs.openstack.org/26/272326/9/gate/gate-tempest-dsvm-neutron-src-taskflow-ubuntu-xenial/5dd850f/ : SUCCESS in 1h 16m 06s","accounts_in_message":[],"_revision_number":9}],"current_revision_number":9,"current_revision":"84c7a7b2c7dcbade1bc802cac7c93ccd9b746cb3","revisions":{"9347e3b6df14d83868db7ea35e0956938dc5df88":{"kind":"REWORK","_number":1,"created":"2016-01-25 23:58:57.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/1"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:58:49.000000000","tz":-480},"subject":"Avoid process based executor task proxying-back ANY event","message":"Avoid process based executor task proxying-back ANY event\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/9347e3b6df14d83868db7ea35e0956938dc5df88"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/9347e3b6df14d83868db7ea35e0956938dc5df88"}]},"branch":"refs/heads/master"},"9599ac4c0f40202a62bb8852975b6f05283acbdb":{"kind":"REWORK","_number":2,"created":"2016-01-26 00:17:36.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/2"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-26 00:17:23.000000000","tz":-480},"subject":"Avoid process based executor task proxying-back ANY event","message":"Avoid process based executor task proxying-back ANY event\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/9599ac4c0f40202a62bb8852975b6f05283acbdb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/9599ac4c0f40202a62bb8852975b6f05283acbdb"}]},"branch":"refs/heads/master"},"adb632c7f74abfda34d10a5af763beb0c32a5895":{"kind":"REWORK","_number":3,"created":"2016-01-26 00:19:50.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/3"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-26 00:19:37.000000000","tz":-480},"subject":"Avoid process based executor task proxying-back ANY event","message":"Avoid process based executor task proxying-back ANY event\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/adb632c7f74abfda34d10a5af763beb0c32a5895"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/adb632c7f74abfda34d10a5af763beb0c32a5895"}]},"branch":"refs/heads/master"},"4af5f3b3ace30ea4d4ea37d3875d943501f61089":{"kind":"REWORK","_number":4,"created":"2016-01-26 05:57:37.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/4"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2016-01-26 05:57:01.000000000","tz":-480},"subject":"Avoid process based executor task proxying-back ANY event","message":"Avoid process based executor task proxying-back ANY event\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/4af5f3b3ace30ea4d4ea37d3875d943501f61089"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/4af5f3b3ace30ea4d4ea37d3875d943501f61089"}]},"branch":"refs/heads/master"},"155dc28262e200ebf74e75cca8b08c0ba5d8ea1e":{"kind":"REWORK","_number":5,"created":"2016-01-26 20:43:49.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/5"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-26 20:43:41.000000000","tz":-480},"subject":"Avoid process based executor task proxying-back ANY event","message":"Avoid process based executor task proxying-back ANY event\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/155dc28262e200ebf74e75cca8b08c0ba5d8ea1e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/155dc28262e200ebf74e75cca8b08c0ba5d8ea1e"}]},"branch":"refs/heads/master"},"6d91757e898018ddf9966ede89a6cdfa797a551d":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2016-01-26 20:47:08.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/6"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-26 20:46:52.000000000","tz":-480},"subject":"Fix process based executor task proxying-back events","message":"Fix process based executor task proxying-back events\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6d91757e898018ddf9966ede89a6cdfa797a551d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6d91757e898018ddf9966ede89a6cdfa797a551d"}]},"branch":"refs/heads/master"},"0b3dda3069a0d5b71e4b55bd99377adda822684b":{"kind":"REWORK","_number":7,"created":"2016-01-27 20:12:19.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/7"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-27 20:12:12.000000000","tz":-480},"subject":"Fix process based executor task proxying-back events","message":"Fix process based executor task proxying-back events\n\nLet\u0027s dive into what the problem is here.\n\nFirst a description of what happens to a task that\nis to be executed in a external (but local) process\nvia the process executor mechanism.\n\nWhen a task is about to be sent to execute in the\nexternal (but local) process its first cloned, this\nis mainly done so that its notification callbacks can\nbe altered in a safe manner (ie not altering the\noriginal task object to do this) and that clone has\nits notifier emptied out.\n\nWhat replaces the clone\u0027s notifier callbacks though\nis a new object (that has a __call__ method so it\nlooks like just another callback) that will send\nmessages to the parent process (the one that has\nthe engine in it) over a secure(ish) channel whenever\nthe local task triggers its notifier notify() method.\n\nThis allows for callbacks in the parent process to\nget triggered because once the messages recieved the\noriginal tasks notifier object has its notify() method\ncalled (therefore those callbacks do not really know\nthe task they are getting messages from is executing out\nof process).\n\nThe issue though is that if the ANY(*) event type is registered\ndue to how it works in the notifier is that if the child/cloned\nnotifier has the ANY event type registered and the cloned task\ncalls notify() with a specific event this will cause the ANY\ncallback (in the clone) to transmit a message *and* it will\ncause the *specific* event callback to also transmit a message\nback to the parent process.\n\nOn the engine process side it will get 2 messages and trigger\nthe callbacks 3 times (twice for the specific event callback\nbecause how the local notifier has the ANY callback registered\nand one more time when the local process also sends the same\nevent based on its registration of the ANY event in the child\nprocess).\n\nThis is not what is expected (the message rcved on the engine\nprocess should only trigger one callback to get triggered\nif the engine process task has no ANY callback registered or two\nengine process callbacks to get triggered if the engine process\ntask has the ANY callback registered).\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0b3dda3069a0d5b71e4b55bd99377adda822684b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0b3dda3069a0d5b71e4b55bd99377adda822684b"}]},"branch":"refs/heads/master"},"db02788f5d9eaee5a7d487d6090d7b8a440bf59e":{"kind":"REWORK","_number":8,"created":"2016-01-27 21:02:46.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/26/272326/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/8"}}},"commit":{"parents":[{"commit":"b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f","subject":"Instead of a multiprocessing queue use sockets via asyncore","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/b1d2f2ca4bdafa63f0cb2c1a8da30d3ea537ce2f"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-27 21:02:40.000000000","tz":-480},"subject":"Fix process based executor task proxying-back events","message":"Fix process based executor task proxying-back events\n\nLet\u0027s dive into what the problem is here.\n\nFirst a description of what happens to a task that\nis to be executed in a external (but local) process\nvia the process executor mechanism.\n\nWhen a task is about to be sent to execute in the\nexternal (but local) process its first cloned, this\nis mainly done so that its notification callbacks can\nbe altered in a safe manner (ie not altering the\noriginal task object to do this) and that clone has\nits notifier emptied out.\n\nWhat replaces the clone\u0027s notifier callbacks though\nis a new object (that has a __call__ method so it\nlooks like just another callback) that will send\nmessages to the parent process (the one that has\nthe engine in it) over a secure(ish) channel whenever\nthe local task triggers its notifier notify() method.\n\nThis allows for callbacks in the parent process to\nget triggered because once the messages recieved the\noriginal tasks notifier object has its notify() method\ncalled (therefore those callbacks do not really know\nthe task they are getting messages from is executing out\nof process).\n\nThe issue though is that if the ANY(*) event type is registered\ndue to how it works in the notifier is that if the child/cloned\nnotifier has the ANY event type registered and the cloned task\ncalls notify() with a specific event this will cause the ANY\ncallback (in the clone) to transmit a message *and* it will\ncause the *specific* event callback to also transmit a message\nback to the parent process.\n\nOn the engine process side it will get 2 messages and trigger\nthe callbacks 3 times (twice for the specific event callback\nbecause how the local notifier has the ANY callback registered\nand one more time when the local process also sends the same\nevent based on its registration of the ANY event in the child\nprocess).\n\nThis is not what is expected (the message rcved on the engine\nprocess should only trigger one callback to get triggered\nif the engine process task has no ANY callback registered or two\nengine process callbacks to get triggered if the engine process\ntask has the ANY callback registered).\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/db02788f5d9eaee5a7d487d6090d7b8a440bf59e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/db02788f5d9eaee5a7d487d6090d7b8a440bf59e"}]},"branch":"refs/heads/master"},"84c7a7b2c7dcbade1bc802cac7c93ccd9b746cb3":{"kind":"REWORK","_number":9,"created":"2017-07-11 03:17:04.000000000","uploader":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"ref":"refs/changes/26/272326/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/26/272326/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/26/272326/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/26/272326/9"}}},"commit":{"parents":[{"commit":"1229eb2e8e990ad78d45ba5f64ee05d5ef521d78","subject":"rearrange existing documentation into the new standard layout","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/1229eb2e8e990ad78d45ba5f64ee05d5ef521d78"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2016-01-25 23:56:07.000000000","tz":-480},"committer":{"name":"ChangBo Guo(gcb)","email":"eric.guo@easystack.cn","date":"2017-07-11 03:14:04.000000000","tz":480},"subject":"Fix process based executor task proxying-back events","message":"Fix process based executor task proxying-back events\n\nLet\u0027s dive into what the problem is here.\n\nFirst a description of what happens to a task that\nis to be executed in a external (but local) process\nvia the process executor mechanism.\n\nWhen a task is about to be sent to execute in the\nexternal (but local) process its first cloned, this\nis mainly done so that its notification callbacks can\nbe altered in a safe manner (ie not altering the\noriginal task object to do this) and that clone has\nits notifier emptied out.\n\nWhat replaces the clone\u0027s notifier callbacks though\nis a new object (that has a __call__ method so it\nlooks like just another callback) that will send\nmessages to the parent process (the one that has\nthe engine in it) over a secure(ish) channel whenever\nthe local task triggers its notifier notify() method.\n\nThis allows for callbacks in the parent process to\nget triggered because once the messages recieved the\noriginal tasks notifier object has its notify() method\ncalled (therefore those callbacks do not really know\nthe task they are getting messages from is executing out\nof process).\n\nThe issue though is that if the ANY(*) event type is registered\ndue to how it works in the notifier is that if the child/cloned\nnotifier has the ANY event type registered and the cloned task\ncalls notify() with a specific event this will cause the ANY\ncallback (in the clone) to transmit a message *and* it will\ncause the *specific* event callback to also transmit a message\nback to the parent process.\n\nOn the engine process side it will get 2 messages and trigger\nthe callbacks 3 times (twice for the specific event callback\nbecause how the local notifier has the ANY callback registered\nand one more time when the local process also sends the same\nevent based on its registration of the ANY event in the child\nprocess).\n\nThis is not what is expected (the message rcved on the engine\nprocess should only trigger one callback to get triggered\nif the engine process task has no ANY callback registered or two\nengine process callbacks to get triggered if the engine process\ntask has the ANY callback registered).\n\nCloses-Bug: #1537948\n\nChange-Id: I271bf1f23ad73df6c177cf00fd902c4881ba44ae\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/84c7a7b2c7dcbade1bc802cac7c93ccd9b746cb3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/84c7a7b2c7dcbade1bc802cac7c93ccd9b746cb3"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
