)]}'
{"id":"openstack%2Fswift~771878","triplet_id":"openstack%2Fswift~master~I13bdef7e9c63325d93076b6a172a7c3ee06b2e5c","project":"openstack/swift","branch":"master","topic":"p-fix-EC-bucket-timestamp","hashtags":[],"change_id":"I13bdef7e9c63325d93076b6a172a7c3ee06b2e5c","subject":"Separate EC response bucket handling","status":"NEW","created":"2021-01-21 19:26:04.000000000","updated":"2021-01-22 01:16:15.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":5,"unresolved_comment_count":4,"has_review_started":true,"meta_rev_id":"9aa5cc0841a8e6a57fde4d2e865ab2fbc37c3355","_number":771878,"virtual_id_number":771878,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2021-01-22 01:16:15.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"rejected":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":-1,"date":"2021-01-21 20:39:29.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-01-21 20:11:53.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"CC"},{"updated":"2021-01-22 01:16:15.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"}],"messages":[{"id":"c7b10b36bbb18772cc42ec1d3da107796236c803","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-21 19:26:04.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f8d241a3495e2a3fd3c82dc77581a25e6b23c299","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-21 19:32:28.000000000","message":"Patch Set 1:\n\n(3 comments)\n\nmaybe worth a respin, maybe it\u0027s just me...","accounts_in_message":[],"_revision_number":1},{"id":"ec19518c59a9f825e71f3bb227f61b2b609b7061","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-21 20:11:53.000000000","message":"Patch Set 1:\n\n(1 comment)\n\nat first glance, seems fine and reasonable OO","accounts_in_message":[],"_revision_number":1},{"id":"74ad847603a2545e90b6029ca10cc966d725ef1d","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-21 20:39:29.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)\n\nI\u0027m not sure it\u0027s worth prioritizing polish on this over anything else I\u0027m doing, but I felt better merging the other having written this one ;)","accounts_in_message":[],"_revision_number":1},{"id":"9aa5cc0841a8e6a57fde4d2e865ab2fbc37c3355","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-22 01:16:15.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6557565025ff40eaa955679f59c9d0b8 : SUCCESS in 9m 06s\n- grenade https://zuul.opendev.org/t/openstack/build/d05ceec0660d4e6c8ddec05eacac0064 : SUCCESS in 1h 01m 42s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6007efbbebe04612b2d7f819f1fd965f : SUCCESS in 46m 08s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a80860a5636d4dc3922d045f0dca3de0 : SUCCESS in 9m 40s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/9d33472b384544bb82a99ce91c034ee3 : SUCCESS in 10m 54s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/08c559e57a7842bca728f5bac9291050 : SUCCESS in 16m 20s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/98817906d6f447d0b987828e0d6f14af : SUCCESS in 11m 43s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ce0c91d846af47feab8c81d90b44dae6 : SUCCESS in 16m 52s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/d8d3eaeffb104691bc8b2d1bb831d75d : SUCCESS in 16m 37s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/f374f1cb7c644df1a99ef6050adeb9bd : SUCCESS in 19m 58s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/25d76608c8ca485abbd60ab732d4fd4b : SUCCESS in 19m 20s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/ef1723f6988341bfa62c57ec85eecc40 : SUCCESS in 20m 49s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/af08cee33ba24599a46f0305093b8429 : SUCCESS in 24m 11s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/31f3bf9e0b784664b80216caed5f7cd2 : SUCCESS in 25m 27s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/8db8fd89d54b4fb08f0327973761398c : SUCCESS in 24m 45s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/92b7d5b7b58c4d329d9e92c7d2c98079 : SUCCESS in 22m 54s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/ae61447c9ec54b70a21522c375b61138 : SUCCESS in 46m 22s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/b8b7ed20de9b499d818bc371441e8502 : SUCCESS in 45m 08s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7310bbba0ec5403ca9924118894cea17 : SUCCESS in 42m 07s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/65af766f1afe43fb874ccd25463da036 : SUCCESS in 39m 27s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/59b7394669b74b85a800b12e381c9c21 : SUCCESS in 16m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a7c4888eae354eaca81615d1a3907edf : SUCCESS in 6m 53s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/04bbc435f0814345bcfbdb7a232c7966 : FAILURE in 10m 58s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/41ed5c478bc643e6a3854942a3ca7073 : SUCCESS in 1h 00m 41s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"bd05bc786efc0e8065d9d17bd3707df7ac7c629e","revisions":{"bd05bc786efc0e8065d9d17bd3707df7ac7c629e":{"kind":"REWORK","_number":1,"created":"2021-01-21 19:26:04.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/78/771878/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/78/771878/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/771878/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/771878/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/78/771878/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/78/771878/1"}}},"commit":{"parents":[{"commit":"cc3fa3cc0fa51df0e3eb872744da428a7e742cea","subject":"Fix 503s from EC GETs of objects with POST metadata","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/cc3fa3cc0fa51df0e3eb872744da428a7e742cea"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-01-21 19:16:08.000000000","tz":-360},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-01-21 19:16:08.000000000","tz":-360},"subject":"Separate EC response bucket handling","message":"Separate EC response bucket handling\n\nOur EC Controller needs to group successful responses by their frag data\ntimestamp, and unsuccessful responses by status.  Largely this process is\nsimilar, but the differences in timestamp handling require special care.\n\nThis refactoring introduces a class hierarchy to EC Buckets in order to\nexplicitly define the buckets themselves in charge of behavioral\ndifferences, rather than polymorphic adaptation of behavior based on how\ntheir initialized or what we put into them.\n\nChange-Id: I13bdef7e9c63325d93076b6a172a7c3ee06b2e5c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bd05bc786efc0e8065d9d17bd3707df7ac7c629e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bd05bc786efc0e8065d9d17bd3707df7ac7c629e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
