)]}'
{"id":"openstack%2Ftaskflow~800609","triplet_id":"openstack%2Ftaskflow~master~I3b9e9498b155199a4e707006a0cf22cda0567c06","project":"openstack/taskflow","branch":"master","topic":"jsontype","attention_set":{},"removed_from_attention_set":{"9542":{"account":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"last_update":"2021-10-26 22:08:33.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I3b9e9498b155199a4e707006a0cf22cda0567c06","subject":"Use custom JSONType columns","status":"MERGED","created":"2021-07-13 09:14:43.000000000","updated":"2021-10-26 22:11:58.000000000","submitted":"2021-10-26 22:08:33.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"800609-jsontype","meta_rev_id":"e3024f0facb6920411055406e84d6211131fd49a","_number":800609,"virtual_id_number":800609,"owner":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-10-26 22:08:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2021-10-05 10:44:19.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":2,"date":"2021-10-26 20:51:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":1,"date":"2021-10-26 20:51:52.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":[{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"}],"reviewers":{"REVIEWER":[{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-07-13 11:18:28.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-10-05 10:44:19.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2021-10-05 10:44:19.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"state":"REVIEWER"},{"updated":"2021-10-05 10:44:19.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"state":"REVIEWER"},{"updated":"2021-10-26 20:51:52.000000000","updated_by":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"reviewer":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"state":"REVIEWER"}],"messages":[{"id":"5529387a69900b1af27b7249feec8f09ef5b8957","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-07-13 09:14:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ffe2b3f94890c109f57c3bb53122bca3afb24a18","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-07-13 09:44:06.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"165eac4aeaae5438a1dd3f133010b7a4e68b6e6e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-07-13 11:18:28.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ca98781281ff4ffd9cbf83df8500aa40 : SUCCESS in 1h 25m 33s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ba7d6f6f411448048f90a8c490741a38 : SUCCESS in 6m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/245b09e27ef64cbc88fbd1ef0930bc06 : SUCCESS in 4m 59s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a7db6acba7ce4a69985e067cb556d5d1 : SUCCESS in 5m 37s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/bf32c4e19ef544c79cf63b84c5f2050d : SUCCESS in 4m 56s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/a6772a0171fb4a3a84a93136757f1a3c : SUCCESS in 5m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/30037e932ea2481eb0d10e10e6f2b645 : SUCCESS in 5m 46s","accounts_in_message":[],"_revision_number":2},{"id":"a68408df893dab25f42fcd84cbf97fa61b480731","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2021-10-05 10:44:19.000000000","message":"Patch Set 2: Code-Review+2\n\nThis looks sensible. I\u0027d appreciate some attention from zzzeek but that\u0027s a nice-to-have","accounts_in_message":[],"_revision_number":2},{"id":"94841d16853e04b5443b91d1b5e6bb868ee07ca7","author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"date":"2021-10-05 13:24:07.000000000","message":"Patch Set 2:\n\ni would argue we\u0027re getting just about nothing from sqlalchemy-utils here why not take the remaining 5 lines of code from sqlalchemy-utils here?  would be easier to follow how this type works.   also, \"has_postgres_json\" qualifiers can be dropped, that flag would be true in sqlalchemy-utils for many years.    S-U is \"fine\" but it seems to be a low velocity project with a lot of very old stuff in it.   there are often regressions in it when we make bigger changes.","accounts_in_message":[],"_revision_number":2},{"id":"d5c36362a644bc7ce075f22af267433950e1e805","author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"date":"2021-10-26 20:51:52.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"a15e168bfa3e71cc68e8373a0cdd7c6ec03bf85d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-26 20:53:12.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"947a076990c187d99cab882b1a6d784abcd5eb64","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-26 22:08:33.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/19bd7f6a51d4437e9250bc7034df8339 : SUCCESS in 1h 14m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a9263c4b4aec4675ba98c27771190e2d : SUCCESS in 6m 26s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/47794156c53f453587e829b0a459ed16 : SUCCESS in 7m 03s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/ab3782270ac84cc09298ac441a993617 : SUCCESS in 8m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/64ba46f0d7194c53bdc1a47237630175 : SUCCESS in 7m 00s","accounts_in_message":[],"_revision_number":2},{"id":"5135a5a12695c8922598aeadc0835f71ed76862b","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-26 22:08:33.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"e3024f0facb6920411055406e84d6211131fd49a","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-26 22:11:58.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6e0c4d3b66384d6ab1dee83e648ecbaa : SUCCESS in 1m 27s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"3e1f150926029b6a553cbef959f370e39ce6bb5a","revisions":{"d2c490b2712da842e26cef7c0e4e76b45944af0c":{"kind":"REWORK","_number":1,"created":"2021-07-13 09:14:43.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/09/800609/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/09/800609/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/09/800609/1"}}},"commit":{"parents":[{"commit":"0e9f7367e7abf737e3fbde58350fb1034a3a36e8","subject":"Move flake8 as a pre-commit local target.","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0e9f7367e7abf737e3fbde58350fb1034a3a36e8"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2021-07-13 09:06:41.000000000","tz":180},"committer":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2021-07-13 09:06:41.000000000","tz":180},"subject":"Use custom JSONType columns","message":"Use custom JSONType columns\n\nthe JSONType from sqlalchemy_utils is quite brittle as it only does\nprimitive json.dumps on values. This leads to various sorts of\nStorageFailure exceptions in taskflow when, for example, an unserializable\nexception bubbles up to the \u0027failure\u0027 field of AtomDetails.\n\nThis patch sublclasses the JSONType from sqlalchemy_utils and overrides\ntwo of its methods that do (de)serialization to work via\noslo.serialization functions. They deal with such occurencies much\nbetter, for example, by providing \u0027str\u0027 as a fallback default.\n\nChange-Id: I3b9e9498b155199a4e707006a0cf22cda0567c06\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/d2c490b2712da842e26cef7c0e4e76b45944af0c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/d2c490b2712da842e26cef7c0e4e76b45944af0c"}]},"branch":"refs/heads/master"},"3e1f150926029b6a553cbef959f370e39ce6bb5a":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2021-07-13 09:44:06.000000000","uploader":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"ref":"refs/changes/09/800609/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/taskflow","ref":"refs/changes/09/800609/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/taskflow refs/changes/09/800609/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/taskflow refs/changes/09/800609/2"}}},"commit":{"parents":[{"commit":"0e9f7367e7abf737e3fbde58350fb1034a3a36e8","subject":"Move flake8 as a pre-commit local target.","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/0e9f7367e7abf737e3fbde58350fb1034a3a36e8"}]}],"author":{"name":"Pavlo Shchelokovskyy","email":"shchelokovskyy@gmail.com","date":"2021-07-13 09:06:41.000000000","tz":180},"committer":{"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","date":"2021-07-13 09:44:06.000000000","tz":0},"subject":"Use custom JSONType columns","message":"Use custom JSONType columns\n\nthe JSONType from sqlalchemy_utils is quite brittle as it only does\nprimitive json.dumps on values. This leads to various sorts of\nStorageFailure exceptions in taskflow when, for example, an unserializable\nexception bubbles up to the \u0027failure\u0027 field of AtomDetails.\n\nThis patch sublclasses the JSONType from sqlalchemy_utils and overrides\ntwo of its methods that do (de)serialization to work via\noslo.serialization functions. They deal with such occurencies much\nbetter, for example, by providing \u0027str\u0027 as a fallback default.\n\nChange-Id: I3b9e9498b155199a4e707006a0cf22cda0567c06\nRelated-Bug: #1935957\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/3e1f150926029b6a553cbef959f370e39ce6bb5a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/taskflow/commit/3e1f150926029b6a553cbef959f370e39ce6bb5a"}]},"branch":"refs/heads/master","description":"Edit commit message"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
