)]}'
{"id":"openstack%2Fmistral~1001628","triplet_id":"openstack%2Fmistral~master~I0b95af61102c514d22ffb897e3c796b5d5e88864","project":"openstack/mistral","branch":"master","hashtags":[],"change_id":"I0b95af61102c514d22ffb897e3c796b5d5e88864","subject":"Cap list pagination at [api] max_limit","status":"MERGED","created":"2026-08-20 08:45:24.000000000","updated":"2026-08-20 10:41:31.000000000","submitted":"2026-08-20 10:38:52.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1001628","meta_rev_id":"067ab92c15cd922f69296338119547c2853be35b","_number":1001628,"virtual_id_number":1001628,"owner":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-08-20 10:38:52.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"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":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-08-20 09:51:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"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":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-08-20 09:51:14.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-20 09:45:39.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":"7c1e27bba0dab4737f311c124f70852ffd102cf8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2026-08-20 08:45:24.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f67d739cf02fce32bea761fb546ace0d662172fc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 09:45:39.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a36c76cefb014ce2a760892411601c8d\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dcf0a9408bf842b193db018d6ef58524 : SUCCESS in 3m 58s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/88f3ce4115c144f9a61c35c8b00fc486 : SUCCESS in 10m 15s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2c270dcdd31f40ca8ad404407b68174e : SUCCESS in 10m 06s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/fa183b73949f4befb0c6e5dd89bfd5a1 : SUCCESS in 13m 43s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4651c479cff34ab7be6a25f2f82b1a60 : SUCCESS in 8m 19s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c9c9268b902a4cc7a4faa9307aa15581 : SUCCESS in 4m 43s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d63ea1cd2ea14cdb8e344eb8d4fc748c : SUCCESS in 13m 48s (non-voting)\n- mistral-devstack https://zuul.opendev.org/t/openstack/build/8b466229268148fa83f01a781b672cc9 : SUCCESS in 41m 39s\n- mistral-devstack-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d683d37b4e2742a69d25ded9a79fafed : SUCCESS in 39m 44s","accounts_in_message":[],"_revision_number":1},{"id":"fd5d890645852fc6116f60e0b1f249413493a5db","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2026-08-20 09:51:14.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"45f8935052d81d25f071ae333d067ddd18b27da2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 09:51:47.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"9c4726e7392bcfa1e6d3229bf1c3226732f8cc16","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 10:38:52.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/abd95c3652104fbb8b184c39bd47ff09\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/03672257dbb64f6fbfe85eca3f3527e7 : SUCCESS in 2m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/59e2aca2378d436ba94b6120f5233668 : SUCCESS in 9m 27s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b80b049d401d401d9e5dd9cdab1ced3a : SUCCESS in 10m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8864a5af40454723a42b7d92014cebf5 : SUCCESS in 7m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/43af31e6e3a6417e8c1f6ba556fd4cc9 : SUCCESS in 4m 41s\n- mistral-devstack https://zuul.opendev.org/t/openstack/build/07bb9c6394c54e20bbb2273fa85719f2 : SUCCESS in 20m 01s\n- mistral-devstack-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/514da7f8e94347ccb4c819d2c0273dbc : SUCCESS in 41m 30s","accounts_in_message":[],"_revision_number":1},{"id":"ff1c543f93db2436bbb7d4655e32b1b60e1fbded","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 10:38:52.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"067ab92c15cd922f69296338119547c2853be35b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-20 10:41:31.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7f8d64d7f55a47b9886b60b6d0963458\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/280cb94100e3433299d3bbdaed1821dd : SUCCESS in 1m 02s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1d6528aa4e4c41dcad6b53919151f6a2 : SUCCESS in 48s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0c927364eee9467d63bc5c6d2e73dd35d1324d7f","revisions":{"0c927364eee9467d63bc5c6d2e73dd35d1324d7f":{"kind":"REWORK","_number":1,"created":"2026-08-20 08:45:24.000000000","uploader":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"ref":"refs/changes/28/1001628/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/mistral","ref":"refs/changes/28/1001628/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/mistral refs/changes/28/1001628/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/mistral refs/changes/28/1001628/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/mistral refs/changes/28/1001628/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/mistral refs/changes/28/1001628/1"}}},"commit":{"parents":[{"commit":"e07375b0f8dc64e1002e0f717d451fdb6b1bd49a","subject":"Set up logging in the WSGI entry point","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/e07375b0f8dc64e1002e0f717d451fdb6b1bd49a"}]}],"author":{"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","date":"2026-08-19 22:59:35.000000000","tz":120},"committer":{"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","date":"2026-08-20 08:44:31.000000000","tz":120},"subject":"Cap list pagination at [api] max_limit","message":"Cap list pagination at [api] max_limit\n\nThe shared rest_utils.get_all helper passed the user-supplied limit\nstraight to the DB layer, and a request with no limit (limit\u003dNone) or a\nhuge limit fetched the entire table, built a WSME object per row, and\nserialized them all into one response - an unbounded memory DoS, worse\nwith all_projects\u003dtrue.\n\nAdd [api] max_limit (default 1000) and clamp the page size in get_all\nvia a new clamp_limit() helper. Marker-based paging already provides a\n\u0027next\u0027 link, so no data is lost - callers just page.\n\nGenerated-By: Claude Fable 5 (Anthropic AI assistant)\nSigned-off-by: Arnaud Morin \u003carnaud.morin@gmail.com\u003e\nChange-Id: I0b95af61102c514d22ffb897e3c796b5d5e88864\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/0c927364eee9467d63bc5c6d2e73dd35d1324d7f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/mistral/commit/0c927364eee9467d63bc5c6d2e73dd35d1324d7f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
