)]}'
{"id":"openstack%2Fswift~890139","triplet_id":"openstack%2Fswift~master~I476845c268445708f55fb77f3479881e11e6ef4b","project":"openstack/swift","branch":"master","topic":"p-memcache-prefix","attention_set":{"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2023-07-31 15:52:05.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I476845c268445708f55fb77f3479881e11e6ef4b","subject":"proxy-server: use a prefixed shard range cache key","status":"NEW","created":"2023-07-31 14:26:28.000000000","updated":"2023-08-01 01:48:13.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":3,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"7bc9cb6faf2d681e929141cc3ab80f96b8d593ab","_number":890139,"virtual_id_number":890139,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2023-07-31 15:52:05.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":-1,"date":"2023-07-31 14:28:36.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-07-31 15:46:58.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":"CC"},{"updated":"2023-07-31 15:52:05.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":"2023-08-01 01:48:13.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"CC"}],"messages":[{"id":"4cc4a58c20f6de25310531a946ca83350f22b0d1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2023-07-31 14:26:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"318d0446df96b343eca7dcbeb123a582bd0d5e37","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2023-07-31 14:28:36.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d5025b85f7e8a89b0153b8b9317255cb53db5690","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-31 15:46:58.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f30868b2818d4615916ba525780e816e\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/3de813ef1f734ae080d6a3a2771f7f1b : SUCCESS in 15m 00s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/1ba3f4c06b3049dfb5663350cf6fb818 : SUCCESS in 14m 56s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/8ade1bae081747ee9131f65ad9edbd36 : SUCCESS in 1h 18m 44s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/df1df460143f458fac8f63e24ea3309f : SUCCESS in 19m 47s","accounts_in_message":[],"_revision_number":1},{"id":"b3e73727b91bfc5bd9315d7d1e15c4eee4aa8088","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-07-31 15:52:05.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/c95397cdf4cf4a6b9427afcf536b49dc\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b4f47b3307d44f85ba6a98edeec2f7a7 : SUCCESS in 9m 35s\n- grenade https://zuul.opendev.org/t/openstack/build/3130c21a189a49699d760553d82f4676 : SUCCESS in 1h 05m 53s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/acdd1e39e09e4f7481ae557fc7d87fed : SUCCESS in 35m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/80bf4e6a4d8d4ed9897f30e2df20b6b2 : SUCCESS in 1h 05m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0d4865ad7d904b42a99b1edc57a5ec0a : SUCCESS in 16m 47s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5a31c68251674a70ae314f1ab24372f7 : SUCCESS in 22m 09s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/aebe2abb400c49aa9f811313fa709d33 : SUCCESS in 18m 43s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f71156f7aa5a48529509130bb7b65cb5 : SUCCESS in 9m 26s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/5cf3e514b2744006b970aa2ed6986cc8 : SUCCESS in 5m 24s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d5625b95b7704d9cbf8c2d2debd1173b : SUCCESS in 25m 19s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/64a554c5928e4fb6b9c3e6e2fb8be158 : SUCCESS in 20m 27s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/e56fe01b416e45cfa6cb5e33264da217 : SUCCESS in 13m 08s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/74b85dfbd17e45b0b0bb4021528bddc6 : SUCCESS in 24m 48s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/1ba9743f52ae485dad2e9d6bb80adf05 : SUCCESS in 15m 02s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/922427b86d284d7c989990036b867aa5 : SUCCESS in 16m 43s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/1112a378834b413f83259009c649c568 : SUCCESS in 21m 27s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/e83e20259d274c3d8edb26bd9f9da051 : SUCCESS in 19m 27s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/20719af570f64e78b5b978928e209c84 : SUCCESS in 12m 16s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/9f666afac0cd44fe810cdd6758666bd7 : SUCCESS in 14m 04s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/534a70d4b125417081e006a60ff28807 : SUCCESS in 16m 07s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0d3b487722654ed8aeb0073044969765 : SUCCESS in 9m 33s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/14da496fd6d448ab91be4efe9e79fdf2 : SUCCESS in 20m 02s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/d414f0ee797c468292ebcf2f4f5542cd : SUCCESS in 7m 17s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/a65d4b9bc63343e2835dc8244718b6a6 : FAILURE in 1h 03m 20s\n- swift-probetests-centos-8-stream https://zuul.opendev.org/t/openstack/build/2823e64bcdcf43fcb76ae4c58729bfb4 : FAILURE in 1h 05m 47s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2d8be022dfcc4357a66bfded912b0b37 : SUCCESS in 42m 14s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0bfd47ce37c3417dbb0552485b129fcc : SUCCESS in 45m 24s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2f2d922a8fb44bbb87bbeb746594c85f : SUCCESS in 25m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a41d1e23f4c14983bf00eec7ba075415 : SUCCESS in 4m 50s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/6ddd80ae76cf4fb0b54dd61cce7da845 : SUCCESS in 27m 45s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a57468c191474962abca59563cb1b771 : SUCCESS in 46m 18s","accounts_in_message":[],"_revision_number":1},{"id":"7bc9cb6faf2d681e929141cc3ab80f96b8d593ab","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2023-08-01 01:48:13.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"d84eda790eb0b64ea99349d893fba47bc2dcfaa9","revisions":{"d84eda790eb0b64ea99349d893fba47bc2dcfaa9":{"kind":"REWORK","_number":1,"created":"2023-07-31 14:26:28.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/39/890139/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/39/890139/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/39/890139/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/39/890139/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/39/890139/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/39/890139/1"}}},"commit":{"parents":[{"commit":"167aff4b84b3f52b9c7148392e27b0d4e79767f0","subject":"Merge \"versioning: Only list versions container if it seems to exist\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/167aff4b84b3f52b9c7148392e27b0d4e79767f0"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2023-07-31 14:12:13.000000000","tz":60},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2023-07-31 14:25:35.000000000","tz":60},"subject":"proxy-server: use a prefixed shard range cache key","message":"proxy-server: use a prefixed shard range cache key\n\nmcrouter supports configurable lookup policies based on the prefix of\nthe memcache key. For example, a different mcrouter policy could be\nconfigured for looking up cached shard ranges. This would require all\nshard range memcache keys to have a well-known key prefix. However,\nSwift\u0027s MemcacheRing client currently uses the md5 hash of the\ncaller\u0027s key as the memcache key e.g.:\n\n  key \u003d md5hash(\u0027shard-updating-v2/a/c\u0027)\n\nThere is therefore no uniform prefix for any particular category of\ncache keys.\n\nThis patch therefore adds support for MemcacheRing to optionally\nprefix memcache keys with the unhashed prefix of the caller\u0027s key e.g.:\n\n  key \u003d b\u0027shard-updating-v2/a/\u0027 + md5hash(\u0027shard-updating-v2/a/c\u0027)\n\nChange-Id: I476845c268445708f55fb77f3479881e11e6ef4b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d84eda790eb0b64ea99349d893fba47bc2dcfaa9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d84eda790eb0b64ea99349d893fba47bc2dcfaa9"}]},"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}}]}],"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":""}}}]}
