)]}'
{"id":"openstack%2Ftaskflow~80372","triplet_id":"openstack%2Ftaskflow~master~I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3","project":"openstack/taskflow","branch":"master","topic":"hierachy","hashtags":[],"change_id":"I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3","subject":"Adjust the exception hierachy","status":"MERGED","created":"2014-03-13 19:11:31.000000000","updated":"2014-03-26 16:05:06.000000000","submitted":"2014-03-26 16:05:06.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":16,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"5357d55fd0f76453b2ffa709f681c29ec38b0a9c","_number":80372,"virtual_id_number":80372,"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":"2014-03-26 16:05:06.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},{"value":0,"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},{"value":0,"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"}],"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":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},"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":2,"date":"2014-03-26 15:42:00.000000000","_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},{"value":2,"date":"2014-03-25 09:13:05.000000000","_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},{"value":0,"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},{"value":0,"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"}],"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":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},"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":1,"date":"2014-03-26 15:42:00.000000000","_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},{"value":0,"date":"2014-03-25 09:13:05.000000000","_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},{"value":0,"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},{"value":0,"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"}],"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":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},{"value":0,"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},{"value":0,"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},{"value":0,"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"}],"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":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},{"_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-03-17 03:50:16.000000000","updated_by":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"reviewer":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"state":"REVIEWER"},{"updated":"2014-03-24 23:12:22.000000000","updated_by":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"reviewer":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"state":"REVIEWER"},{"updated":"2014-03-25 09:13:05.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":"2014-03-26 15:42:00.000000000","updated_by":{"_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},"reviewer":{"_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},"state":"REVIEWER"},{"updated":"2014-03-26 16:05:06.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"fa22bb4442aa2b3184ebd371b39cc88bff79356f","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 19:11:32.000000000","message":"Patch Set 1:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"c06d518e82b75dac6a4a125c5c324fd917884c88","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-13 19:12:25.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"0e16007c868e60415cb439f4f77d844c84cb6dce","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 19:12:26.000000000","message":"Patch Set 2:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"164c83b2c5f48fe8a1ed9745c489ee55df55923e","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2014-03-13 19:12:31.000000000","message":"Patch Set 2:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":2},{"id":"7bad5cf5c62a77e55abd2aa67abf6517f6a13f20","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-13 19:18:32.000000000","message":"Patch Set 2: Work In Progress","accounts_in_message":[],"_revision_number":2},{"id":"f937cc6c0118c95cc45e0d4efc4fd275632ba2e5","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 19:24:53.000000000","message":"Patch Set 3:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"cc21defdfb1ac3db762759e5990dd392fece4026","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-13 19:24:53.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"afc546906bb7e61fed157086e75eed8ff94348b1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 19:42:00.000000000","message":"Patch Set 3: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/3/check/gate-taskflow-pep8/fc4f3f7 : FAILURE in 52s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/3/check/gate-taskflow-docs/8503f98/doc/build/html/ : SUCCESS in 1m 51s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/3/check/gate-taskflow-python26/6ae0c42 : SUCCESS in 2m 16s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/3/check/gate-taskflow-python27/41f4f4c : SUCCESS in 2m 36s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/3/check/gate-taskflow-python33/18a5b4f : SUCCESS in 5m 23s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/3/check/gate-taskflow-tox-py26-sa7-mysql/93bbd8c : SUCCESS in 3m 33s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/3/check/gate-taskflow-tox-py27-sa8-mysql/60c3e53 : SUCCESS in 2m 50s\n","accounts_in_message":[],"_revision_number":3},{"id":"7a713044e03c285f02acd89292fa6b433483f6b7","author":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"date":"2014-03-13 19:45:03.000000000","message":"Patch Set 3: (1 inline comment)\n\nI start to feel a bit hard to reason about the relationship between exceptions...","accounts_in_message":[],"_revision_number":3},{"id":"9bf928314bb371c63c8c1aa6e21529815babd0b4","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-13 19:56:49.000000000","message":"Patch Set 3:\n\nUnderstandable, what grouping would make more sense to you?","accounts_in_message":[],"_revision_number":3},{"id":"d3610669a71b89b0a26740687062ab2f9776489c","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-13 21:58:03.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"b877f9684c3227c3544e4b9cb57a7018cd8a73f9","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 21:58:04.000000000","message":"Patch Set 4:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":4},{"id":"f904038855178793b7629bb6aa59d2555a99cc62","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-13 22:22:58.000000000","message":"Patch Set 4: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/4/check/gate-taskflow-pep8/6e35006 : SUCCESS in 1m 18s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/4/check/gate-taskflow-docs/bc099fe/doc/build/html/ : SUCCESS in 1m 39s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/4/check/gate-taskflow-python26/40cc8d1 : SUCCESS in 3m 18s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/4/check/gate-taskflow-python27/dc31a15 : SUCCESS in 2m 24s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/4/check/gate-taskflow-python33/25dff5e : SUCCESS in 5m 46s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/4/check/gate-taskflow-tox-py26-sa7-mysql/290db55 : SUCCESS in 3m 40s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/4/check/gate-taskflow-tox-py27-sa8-mysql/0257331 : SUCCESS in 2m 43s\n","accounts_in_message":[],"_revision_number":4},{"id":"98f472a6c89fe427ad0dcdcd84ed8717ad8b06b3","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-14 10:17:41.000000000","message":"Patch Set 4: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":4},{"id":"8f425dde918240e9cddff5485722af1b3b69a6ea","author":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"date":"2014-03-14 16:05:11.000000000","message":"Patch Set 4: (4 inline comments)\n\n","accounts_in_message":[],"_revision_number":4},{"id":"ea845d273182af59e120d76383236cc27b685269","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-14 21:08:21.000000000","message":"Patch Set 4: (4 inline comments)\n\n","accounts_in_message":[],"_revision_number":4},{"id":"63f4434ba83165c8c5d19ddb8406790f7088a1f6","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-14 22:07:26.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"aecb7bd16514d3794bfeb4d7d51be56404d9c9be","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-14 22:07:27.000000000","message":"Patch Set 5:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":5},{"id":"d3312e89e3b1f49ab9b7b47303326b18e986ee81","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-14 22:08:36.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"78cd8641066ca1b60ce96afe473972c5dca19e6c","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2014-03-14 22:08:39.000000000","message":"Patch Set 6:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":6},{"id":"2fd849722bc8ea2bf6e9a6b318df2eaa6d139f22","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-14 22:08:40.000000000","message":"Patch Set 6:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":6},{"id":"994a0d8bb91b64d477b35bd5f3a1ec994647c525","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-14 22:30:48.000000000","message":"Patch Set 6: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/6/check/gate-taskflow-pep8/9125866 : SUCCESS in 1m 22s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/6/check/gate-taskflow-docs/7a0af64/doc/build/html/ : SUCCESS in 1m 42s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/6/check/gate-taskflow-python26/ce28bba : SUCCESS in 3m 09s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/6/check/gate-taskflow-python27/70f820e : SUCCESS in 2m 42s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/6/check/gate-taskflow-python33/7a8785d : SUCCESS in 5m 09s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/6/check/gate-taskflow-tox-py26-sa7-mysql/c5e132c : SUCCESS in 2m 41s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/6/check/gate-taskflow-tox-py27-sa8-mysql/3c6234e : SUCCESS in 2m 16s\n","accounts_in_message":[],"_revision_number":6},{"id":"441bd95c05b078a1cbbe2e706d7224a6062c402b","author":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"date":"2014-03-16 21:33:46.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"c09c333857b5b7faf585a7bf431af4ab0b33aa7f","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-17 02:00:06.000000000","message":"Patch Set 6: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":6},{"id":"4bb66fa5eb0ecdff994837bd55912c451918d32b","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-17 02:03:29.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"9f45a45a9dec0e73fcfa18613334e83f87ce3be1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-17 02:03:30.000000000","message":"Patch Set 7:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":7},{"id":"76cf2b29d8521a90322ee648e2fb914b09eec39b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-17 02:08:48.000000000","message":"Patch Set 7: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/7/check/gate-taskflow-pep8/1e39ea0 : SUCCESS in 1m 11s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/7/check/gate-taskflow-docs/6a33856/doc/build/html/ : SUCCESS in 1m 23s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/7/check/gate-taskflow-python26/14bef04 : SUCCESS in 2m 40s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/7/check/gate-taskflow-python27/9523201 : SUCCESS in 2m 19s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/7/check/gate-taskflow-python33/f86f9cf : SUCCESS in 5m 16s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/7/check/gate-taskflow-tox-py26-sa7-mysql/be2e4fb : SUCCESS in 2m 32s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/7/check/gate-taskflow-tox-py27-sa8-mysql/d2caf68 : SUCCESS in 2m 20s\n","accounts_in_message":[],"_revision_number":7},{"id":"08468fad793639e88218e89f66f03b5f6973d961","author":{"_account_id":6648,"name":"Changbin Liu","email":"changbin.liu@gmail.com","username":"changbl"},"date":"2014-03-17 03:50:16.000000000","message":"Patch Set 7: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":7},{"id":"f80f48124227db0b5b8583c2b0327e4945ca984f","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-17 09:14:08.000000000","message":"Patch Set 7:\n\nGreat work, but I don\u0027t quite agree with few details.\n\nFor taskflow exception, I\u0027d suggest the following error classification\n\n o storage related\n o flow invariants related\n o job related\n\nAlso, WrappedFailure stands aside (as it does in current patchset, completely agree with you here).\n\nHow it differs with current patchset?\n\nFist, imo there should not be \"generic\" exceptions, like invariant violations, or connection failures. If we failed to connect to job backend, that should JobException, if job was not found that should also be JobException. So, if we tried to e.g. claim a job but something happend we can catch the only exception, JobException. Same with storage: anything that happens wrongly with persistence backends should lead to StorageFailure, was it connection problems, version incompatibilities or whatever.\n\nI\u0027d also suggest to make InvariantViolation to be devoted exclusively to flow invariant failures, like duplicate atom names, missing dependencies, dependency cycles and so on. This way, NotFould becomes InvariantViolation -- something like runtime equivalent of MissingDependency. Also, EmptyFlow looks very much like InvariantViolation to me.\n\nBtw, I\u0027d like to amend to Changbin\u0027s comment on previous patchset: we now have JobException and FlowException, but StorageFailure. Can we have only one word for generic exception classes? In fact, I like Error most, because it\u0027s the shortest, but I\u0027ll be happy with any.","accounts_in_message":[],"_revision_number":7},{"id":"a1bfeede1d8c359381da6b9414b6a52bb2999c16","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-17 09:16:34.000000000","message":"Patch Set 7: I would prefer that you didn\u0027t merge this\n\nForgot to press radio button;)\n\nPlease see my previous comment for complete explanation on why this is -1.\n\nAlso, it worth noting that if you rebase this change on top of https://review.openstack.org/80925 you\u0027ll get nice inheritance diagram in sphinx docs which helps a lot in understanding the results of this change.","accounts_in_message":[],"_revision_number":7},{"id":"2bef835f2255c3e8cd78c5ce5a9ba5c85ebcc9f5","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-17 19:11:25.000000000","message":"Patch Set 7:\n\nSo there would still then be a (Job)NotFound? And a (Flow)NotFound that\u0027s used by flows? Why have both?","accounts_in_message":[],"_revision_number":7},{"id":"e663a84061bd0acf66ca9e168b86256146764b9e","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-17 19:21:30.000000000","message":"Patch Set 7:\n\nIvan are u thinking that we should move the job specific exceptions to something like taskflow/jobs/exceptions.py, and then backend specific ones to taskflow/persistence/exceptions.py...?","accounts_in_message":[],"_revision_number":7},{"id":"19703221d16810c128b49d8a2970c220ab47a355","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-18 04:04:35.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"a1cb0c9c50ce88c3366730adda9cbd5307f7c0c7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-18 04:04:38.000000000","message":"Patch Set 8:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":8},{"id":"b6b95d7fe4a8674cfb5900ac1475c6f68f967779","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-18 04:15:51.000000000","message":"Patch Set 8: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/8/check/gate-taskflow-pep8/34370aa : SUCCESS in 1m 26s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/8/check/gate-taskflow-docs/2c7b4f3/doc/build/html/ : SUCCESS in 1m 34s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/8/check/gate-taskflow-python26/c014685 : SUCCESS in 3m 12s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/8/check/gate-taskflow-python27/f549fb4 : SUCCESS in 2m 34s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/8/check/gate-taskflow-python33/e6f887f : SUCCESS in 5m 10s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/8/check/gate-taskflow-tox-py26-sa7-mysql/e550a32 : SUCCESS in 2m 43s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/8/check/gate-taskflow-tox-py27-sa8-mysql/4d15257 : SUCCESS in 1m 30s\n","accounts_in_message":[],"_revision_number":8},{"id":"09105f38184d74ce6aa4551c9504e901e28a607c","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-18 04:29:37.000000000","message":"Patch Set 8:\n\nLooks good, one last note about InvariantViolation though.\n\nIt is now raised in two classes of cases:\n\n  o in states.py, when transition is not allowed\n  o by patterns and engines when something is wrong with dependencies\n\nI\u0027d like to suggest that these cases deserve separate exceptions: the former should raise DependencyFailure or something (e. g. InvariantViolation) that inherits from it, while the latter should raise something else (maybe we should keep InvalidState?).","accounts_in_message":[],"_revision_number":8},{"id":"2ba4f9d58b2947900147727a718ddd72f2db7c3b","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-18 21:58:52.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"6e568e5cfe8ea287a8b45dea40e853366bc74219","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-18 21:58:53.000000000","message":"Patch Set 9:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":9},{"id":"be24995a97726020b8b6707596e88faae21689fd","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-18 22:23:16.000000000","message":"Patch Set 9: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/9/check/gate-taskflow-pep8/51a4dee : SUCCESS in 1m 17s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/9/check/gate-taskflow-docs/5555c74/doc/build/html/ : SUCCESS in 1m 36s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/9/check/gate-taskflow-python26/a4b20dd : SUCCESS in 3m 55s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/9/check/gate-taskflow-python27/4c35216 : SUCCESS in 2m 34s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/9/check/gate-taskflow-python33/b44bc8a : SUCCESS in 5m 47s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/9/check/gate-taskflow-tox-py26-sa7-mysql/78f31fa : SUCCESS in 3m 38s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/9/check/gate-taskflow-tox-py27-sa8-mysql/bc746d1 : SUCCESS in 2m 54s\n","accounts_in_message":[],"_revision_number":9},{"id":"7a4b6b6f51463bd7cd723580c5922aabe06215de","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 11:33:28.000000000","message":"Patch Set 9: No score\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":9},{"id":"5470fbdc4a9a4a5c41b404f430384743a2d9a91e","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-24 11:33:28.000000000","message":"Patch Set 9:\n\nrecheck no bug","accounts_in_message":[],"_revision_number":9},{"id":"1f5dc428d284dc56504f22c6eb0dbe12de46fdbd","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 11:33:30.000000000","message":"Patch Set 9: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\nThis change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.","accounts_in_message":[],"_revision_number":9},{"id":"f5ee8d9a09cbf26bd58e7b29369178b5819fe695","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-24 12:01:23.000000000","message":"Patch Set 9: (1 inline comment)\n\nAside from inline note, FlowFailure is a bit confusing: two classes for one place where it\u0027s raised. In previous patchset DependencyFailure was a FlowFailure, which looked more beautiful to me.","accounts_in_message":[],"_revision_number":9},{"id":"52dbef237aa7b072eee68729d1f698c325ea8bc8","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-24 19:28:15.000000000","message":"Patch Set 9: (1 inline comment)\n\nSure, but dependency failure is also used by atoms themselves so I don\u0027t think flow failure then seems appropriate, so let me just remove flow failure for now.","accounts_in_message":[],"_revision_number":9},{"id":"7ace20eb09ac738626a8f467e45653cc643d20a7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 19:34:28.000000000","message":"Patch Set 10:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":10},{"id":"20af1e6bfb89c69d319c1166779a58c8ee749e8a","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-24 19:34:28.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"e152f3de97fbb911173835eb9bc04a4dd5235437","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-24 19:36:31.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"0dd289cc632aa76bc1de882624375a3b0a0b17cb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 19:36:32.000000000","message":"Patch Set 11:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":11},{"id":"e84186d2d3b033b8a37eff682933a2664d88182a","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2014-03-24 19:36:37.000000000","message":"Patch Set 11:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":11},{"id":"8825aca14145efdab2c2fbd35deb035d0e02c54e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 19:46:34.000000000","message":"Patch Set 11: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/11/check/gate-taskflow-pep8/0ac9cfe : SUCCESS in 1m 18s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/11/check/gate-taskflow-docs/acc5e4c/doc/build/html/ : SUCCESS in 1m 32s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/11/check/gate-taskflow-python26/c162a46 : FAILURE in 3m 06s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/11/check/gate-taskflow-python27/c54c7d1 : FAILURE in 2m 39s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/11/check/gate-taskflow-python33/3f5e5dc : FAILURE in 5m 25s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/11/check/gate-taskflow-tox-py26-sa7-mysql/aeb7562 : FAILURE in 2m 48s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/11/check/gate-taskflow-tox-py27-sa8-mysql/3a69a42 : FAILURE in 3m 26s\n\n","accounts_in_message":[],"_revision_number":11},{"id":"5efb4446f550b36fee99298610b345350f569310","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 20:41:00.000000000","message":"Patch Set 12:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":12},{"id":"05c61d4ec7554782303285df98d827c3b06c16aa","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-24 20:41:00.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"3defc4a0bd09ea5f349851894e14d462afb58cbc","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-24 20:46:49.000000000","message":"Patch Set 12: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/12/check/gate-taskflow-pep8/6094b4f : SUCCESS in 56s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/12/check/gate-taskflow-docs/7e591b1/doc/build/html/ : SUCCESS in 1m 34s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/12/check/gate-taskflow-python26/ef9e4a8 : SUCCESS in 3m 41s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/12/check/gate-taskflow-python27/0402e45 : SUCCESS in 2m 26s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/12/check/gate-taskflow-python33/c90e88b : SUCCESS in 5m 47s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/12/check/gate-taskflow-tox-py26-sa7-mysql/02e7323 : SUCCESS in 2m 30s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/12/check/gate-taskflow-tox-py27-sa8-mysql/c9dda73 : SUCCESS in 2m 09s\n\n","accounts_in_message":[],"_revision_number":12},{"id":"dc6a0348059140d3cae277823fb130e9b5c8f722","author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"date":"2014-03-24 23:12:22.000000000","message":"Patch Set 12: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":12},{"id":"b43c1b6ed19cb9c96dbc2039becbc57e83bd86b9","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-25 03:32:49.000000000","message":"Patch Set 12: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":12},{"id":"04998dbbdafcacef1707c5eb31bee41c8e98c50e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-25 03:42:32.000000000","message":"Patch Set 13:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":13},{"id":"1561d10708a3ee80e93467ae876871ec3347b6ee","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2014-03-25 03:42:32.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"74a5915e0c54199b461bbef7238e1a2e2cc65dd7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-25 03:47:44.000000000","message":"Patch Set 13: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/13/check/gate-taskflow-pep8/e751346 : SUCCESS in 1m 05s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/13/check/gate-taskflow-docs/ba094d8/doc/build/html/ : SUCCESS in 1m 27s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python26/6d7c0d3 : SUCCESS in 2m 41s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python27/cda684b : SUCCESS in 2m 11s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python33/2bce54c : SUCCESS in 5m 10s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/13/check/gate-taskflow-tox-py26-sa7-mysql/c37e867 : SUCCESS in 2m 30s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/13/check/gate-taskflow-tox-py27-sa8-mysql/830ca30 : SUCCESS in 2m 30s\n\n","accounts_in_message":[],"_revision_number":13},{"id":"550acc0154497eb40ed688744423052b4ed5b354","author":{"_account_id":7366,"name":"Ivan Melnikov","email":"imelnikov@griddynamics.com","username":"imelnikov"},"date":"2014-03-25 09:13:05.000000000","message":"Patch Set 13: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":13},{"id":"66d6c7c2b64b44cf997d12f9763c1aa0b39a3fac","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 15:42:00.000000000","message":"Patch Set 13: No score\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":13},{"id":"e39e39bd45fed55ecad95fb930c61d3ca7f1156d","author":{"_account_id":7349,"name":"Anastasia Karpinska","email":"akarpinska@griddynamics.com","username":"anastasia-karpinska"},"date":"2014-03-26 15:42:00.000000000","message":"Patch Set 13: Looks good to me (core reviewer); Approved\n\n","accounts_in_message":[],"_revision_number":13},{"id":"5efd5f4d8e9c00820e72296775c0a733dd782dc3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 15:58:10.000000000","message":"Patch Set 13: No score\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":13},{"id":"1c8d505f8f96467fc846b0f613e385123df1260b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 15:58:10.000000000","message":"Patch Set 13: Works for me\n\nBuild succeeded.\n\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/13/check/gate-taskflow-pep8/f205b3c : SUCCESS in 1m 37s\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/13/check/gate-taskflow-docs/d7ee66a/doc/build/html/ : SUCCESS in 1m 01s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python26/a9ab436 : SUCCESS in 3m 59s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python27/785b37e : SUCCESS in 3m 09s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/13/check/gate-taskflow-python33/61e6895 : SUCCESS in 5m 11s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/13/check/gate-taskflow-tox-py26-sa7-mysql/45aba92 : SUCCESS in 3m 14s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/13/check/gate-taskflow-tox-py27-sa8-mysql/128f221 : SUCCESS in 2m 44s\n\n","accounts_in_message":[],"_revision_number":13},{"id":"9695f60ef85c477b4a103210261d4199c80ed81c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 16:05:06.000000000","message":"Patch Set 13: Verified\n\nBuild succeeded.\n\n- gate-taskflow-docs http://docs-draft.openstack.org/72/80372/13/gate/gate-taskflow-docs/a0e6d85/doc/build/html/ : SUCCESS in 1m 38s\n- gate-taskflow-pep8 http://logs.openstack.org/72/80372/13/gate/gate-taskflow-pep8/484d944 : SUCCESS in 1m 28s\n- gate-taskflow-python26 http://logs.openstack.org/72/80372/13/gate/gate-taskflow-python26/5dbe8c8 : SUCCESS in 4m 06s\n- gate-taskflow-python27 http://logs.openstack.org/72/80372/13/gate/gate-taskflow-python27/5af004d : SUCCESS in 3m 11s\n- gate-taskflow-python33 http://logs.openstack.org/72/80372/13/gate/gate-taskflow-python33/21552e0 : SUCCESS in 6m 53s\n- gate-taskflow-tox-py26-sa7-mysql http://logs.openstack.org/72/80372/13/gate/gate-taskflow-tox-py26-sa7-mysql/8bcf7a1 : SUCCESS in 3m 15s\n- gate-taskflow-tox-py27-sa8-mysql http://logs.openstack.org/72/80372/13/gate/gate-taskflow-tox-py27-sa8-mysql/ffb32c8 : SUCCESS in 2m 20s\n\n","accounts_in_message":[],"_revision_number":13},{"id":"97d23c17b42bb72b582389e30a93fe3cc422f6e4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 16:05:06.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":13}],"current_revision_number":13,"current_revision":"a570aead532bb2c247ad53896a3e66d644a58489","revisions":{"12b0ba16897658b916030ce7545120bbb6eae1dd":{"kind":"REWORK","_number":1,"created":"2014-03-13 19:11:31.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/1"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"subject":"Introduce a CorrelatedFailure exception","message":"Introduce a CorrelatedFailure exception\n\nThis exception has a releated cause which can\nprovide more details about the root issue that\ncaused the exception to be triggered. Use it\nin the places where its applicable to have\nsuch functionality.\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/12b0ba16897658b916030ce7545120bbb6eae1dd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/12b0ba16897658b916030ce7545120bbb6eae1dd"}]},"branch":"refs/heads/master"},"41e40eec243c83a47519f7d4bd3f588135149a30":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2014-03-13 19:12:25.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/2"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:11:55.000000000","tz":-420},"subject":"Introduce a CorrelatedFailure exception","message":"Introduce a CorrelatedFailure exception\n\nThis exception has a releated cause which can\nprovide more details about the root issue that\ncaused the exception to be triggered. Use it\nin the places where its applicable to have\nsuch functionality.\n\n- Also capture a larger set of kazoo failures as\n  connection errors and use them with the new\n  correlated failure.\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/41e40eec243c83a47519f7d4bd3f588135149a30"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/41e40eec243c83a47519f7d4bd3f588135149a30"}]},"branch":"refs/heads/master"},"332e733b8021d3506d43bf6e413d6098cb11b126":{"kind":"REWORK","_number":3,"created":"2014-03-13 19:24:53.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/3"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:24:45.000000000","tz":-420},"subject":"Introduce a CorrelatedFailure exception","message":"Introduce a CorrelatedFailure exception\n\nThis exception has a releated cause which can\nprovide more details about the root issue that\ncaused the exception to be triggered. Use it\nin the places where its applicable to have\nsuch functionality.\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/332e733b8021d3506d43bf6e413d6098cb11b126"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/332e733b8021d3506d43bf6e413d6098cb11b126"}]},"branch":"refs/heads/master"},"6062454512eebfaba45f81d35571f571c18444a1":{"kind":"REWORK","_number":4,"created":"2014-03-13 21:58:03.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/4"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 21:52:42.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Connection related\n  * Storage related\n  * Generic invariant related\n  * Job related\n  * Flow related\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception. Comments were also adjusted to\nhelp delineate this distinction.\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6062454512eebfaba45f81d35571f571c18444a1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6062454512eebfaba45f81d35571f571c18444a1"}]},"branch":"refs/heads/master"},"5fd19ee223833e80e4c63bac47208632b591a6ad":{"kind":"REWORK","_number":5,"created":"2014-03-14 22:07:26.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/5"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-14 22:05:28.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Connection related\n  * Storage related\n  * Generic invariant related\n  * Job related\n  * Flow related\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure not inherits from exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/5fd19ee223833e80e4c63bac47208632b591a6ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/5fd19ee223833e80e4c63bac47208632b591a6ad"}]},"branch":"refs/heads/master"},"7bd0f7f5efe560a845e511c4c91c8b16bc2bcc5a":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2014-03-14 22:08:36.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/6"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-14 22:08:17.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Connection related\n  * Storage related\n  * Generic invariant related\n  * Job related\n  * Flow related\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7bd0f7f5efe560a845e511c4c91c8b16bc2bcc5a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7bd0f7f5efe560a845e511c4c91c8b16bc2bcc5a"}]},"branch":"refs/heads/master"},"c639f27a22fe99edf00576edd25c1a89844d818b":{"kind":"REWORK","_number":7,"created":"2014-03-17 02:03:29.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/7"}}},"commit":{"parents":[{"commit":"a57ecf0d1ea18b52a02d58a494b698ee1be5aec5","subject":"Merge \"docs: Relative links improvements\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a57ecf0d1ea18b52a02d58a494b698ee1be5aec5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2014-03-17 02:03:16.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Connection related\n  * Storage related\n  * Generic invariant related\n  * Job related\n  * Flow related\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/c639f27a22fe99edf00576edd25c1a89844d818b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/c639f27a22fe99edf00576edd25c1a89844d818b"}]},"branch":"refs/heads/master"},"1c95e0eaecfa0a4c2cfeab0f5d91d3020b928af9":{"kind":"REWORK","_number":8,"created":"2014-03-18 04:04:35.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/8"}}},"commit":{"parents":[{"commit":"0c72f19d97dc34ce489d4a1e8cd14d3c1a9ecf00","subject":"docs: Add inheritance diagram to exceptions documentation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0c72f19d97dc34ce489d4a1e8cd14d3c1a9ecf00"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-13 19:10:51.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-18 04:03:12.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Generic\n  * Jobs\n  * Execution\n  * Flow\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/1c95e0eaecfa0a4c2cfeab0f5d91d3020b928af9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/1c95e0eaecfa0a4c2cfeab0f5d91d3020b928af9"}]},"branch":"refs/heads/master"},"6e2590c35e976c8b3c7d830fb307cb57f35d19da":{"kind":"REWORK","_number":9,"created":"2014-03-18 21:58:52.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/9"}}},"commit":{"parents":[{"commit":"09490cd904fc4077cc2ff01927ffbb298e25df48","subject":"Merge \"Fix few minor spelling errors\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/09490cd904fc4077cc2ff01927ffbb298e25df48"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-18 21:37:04.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-18 21:46:09.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Jobs\n  * Execution\n  * Flow\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n  * InvariantViolation (X)\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6e2590c35e976c8b3c7d830fb307cb57f35d19da"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/6e2590c35e976c8b3c7d830fb307cb57f35d19da"}]},"branch":"refs/heads/master"},"8b3bcc97c01d32bafd07261362954fd1e079a293":{"kind":"REWORK","_number":10,"created":"2014-03-24 19:34:28.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/10"}}},"commit":{"parents":[{"commit":"7accd01224ed7b982a599e9fb3f899450e2c28b5","subject":"Merge \"Drop obsolete test_unordered_flow\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7accd01224ed7b982a599e9fb3f899450e2c28b5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:32:56.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:34:15.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Jobs\n  * Execution\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * JobAlreadyExists -\u003e AlreadyExists\n  * InvariantViolation (X)\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/8b3bcc97c01d32bafd07261362954fd1e079a293"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/8b3bcc97c01d32bafd07261362954fd1e079a293"}]},"branch":"refs/heads/master"},"cb7f52b27ff6c1b3fb7160cd4d1dd88beb52136b":{"kind":"NO_CODE_CHANGE","_number":11,"created":"2014-03-24 19:36:31.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/11"}}},"commit":{"parents":[{"commit":"7accd01224ed7b982a599e9fb3f899450e2c28b5","subject":"Merge \"Drop obsolete test_unordered_flow\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7accd01224ed7b982a599e9fb3f899450e2c28b5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:32:56.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:35:08.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Jobs\n  * Execution\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * EmptyFlow -\u003e Empty\n  * JobAlreadyExists -\u003e AlreadyExists\n  * InvariantViolation (X)\n  * ConnectionFailure (X)\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/cb7f52b27ff6c1b3fb7160cd4d1dd88beb52136b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/cb7f52b27ff6c1b3fb7160cd4d1dd88beb52136b"}]},"branch":"refs/heads/master"},"a5a856eeff1ce4f103fc7c31b8c97106fc3d38ce":{"kind":"REWORK","_number":12,"created":"2014-03-24 20:41:00.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/12"}}},"commit":{"parents":[{"commit":"7accd01224ed7b982a599e9fb3f899450e2c28b5","subject":"Merge \"Drop obsolete test_unordered_flow\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7accd01224ed7b982a599e9fb3f899450e2c28b5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:32:56.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 20:36:08.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Jobs\n  * Execution\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * EmptyFlow -\u003e Empty\n  * JobAlreadyExists -\u003e AlreadyExists\n  * InvariantViolation (X)\n  * ConnectionFailure (X)\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a5a856eeff1ce4f103fc7c31b8c97106fc3d38ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a5a856eeff1ce4f103fc7c31b8c97106fc3d38ce"}]},"branch":"refs/heads/master"},"a570aead532bb2c247ad53896a3e66d644a58489":{"kind":"REWORK","_number":13,"created":"2014-03-25 03:42:32.000000000","uploader":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"ref":"refs/changes/72/80372/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/72/80372/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/72/80372/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/72/80372/13"}}},"commit":{"parents":[{"commit":"7accd01224ed7b982a599e9fb3f899450e2c28b5","subject":"Merge \"Drop obsolete test_unordered_flow\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/7accd01224ed7b982a599e9fb3f899450e2c28b5"}]}],"author":{"name":"Joshua Harlow","email":"harlowja@yahoo-inc.com","date":"2014-03-24 19:32:56.000000000","tz":-420},"committer":{"name":"Joshua Harlow","email":"harlowja@gmail.com","date":"2014-03-25 03:42:30.000000000","tz":-420},"subject":"Adjust the exception hierachy","message":"Adjust the exception hierachy\n\nGroup the exceptions into the following groups\n  * Storage\n  * Jobs\n  * Execution\n  * Other (wrapped failure here)\n\nThis grouping makes it easier to understand where\none type of exception should be used vs using another\ntype of exception.\n\nBackwards incompatible changes:\n  * StorageError -\u003e StorageFailure\n  * AlreadyExists -\u003e Duplicate\n  * WrappedFailure now inherits from Exception\n    and not directly from TaskFlowException since it\n    wraps arbitrary other exceptions and is not\n    specific to taskflow.\n\nCleanups:\n  * JobNotFound -\u003e NotFound\n  * EmptyFlow -\u003e Empty\n  * JobAlreadyExists -\u003e AlreadyExists\n  * InvariantViolation (X)\n  * ConnectionFailure (X)\n\nChange-Id: I0e1e81b513fbbc7adb8bfaa1244993e345ab70d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a570aead532bb2c247ad53896a3e66d644a58489"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/a570aead532bb2c247ad53896a3e66d644a58489"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
