)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6483955578cb1f0d2e831d25048ca8cf4265bd","unresolved":true,"context_lines":[{"line_number":18,"context_line":"NOTE: This changes a bunch of the hashes of notification objects"},{"line_number":19,"context_line":"without bumping or changing versions. This is expected purely because"},{"line_number":20,"context_line":"we are changing the hashing method, and thus this is not a violation"},{"line_number":21,"context_line":"or upgrade concern."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I242150138deed7fe74b13d9c44b333293cd24ffa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"11fe7e89_0bc517cd","line":21,"updated":"2024-05-15 19:25:26.000000000","message":"ya that sucks but i dont see a clean way to fix that unless we were to emulate the behavior of the old repr function and that fells like more of a hack then this one time bump.","commit_id":"4f2bad43214a200d96ab7010f6e7bb58d03b7103"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc87eb17a8ccce913ae43a37e24b59fed653ed00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ec7f8bce_e5dfbf0a","updated":"2024-05-15 19:37:33.000000000","message":"this is tested in the follow up patches so upgrading to +2\ni was mainly waiting to see this pass in the ci job.","commit_id":"6ee938fd22aaae77cfc9986a1dcdd9068580736a"}],"nova/tests/unit/notifications/objects/test_notification.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0e6483955578cb1f0d2e831d25048ca8cf4265bd","unresolved":false,"context_lines":[{"line_number":488,"context_line":"    # Get the SCHEMA items to add to the fingerprint"},{"line_number":489,"context_line":"    # if we are looking at a notification"},{"line_number":490,"context_line":"    if issubclass(obj_class, notification.NotificationPayloadBase):"},{"line_number":491,"context_line":"        schema_data \u003d sorted(obj_class.SCHEMA.items())"},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"        extra_data +\u003d (schema_data,)"},{"line_number":494,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"83e46cc1_e7c5d988","line":491,"updated":"2024-05-15 19:25:26.000000000","message":"ok this is the extra fix removing collections.OrderedDict so we are no longer depending go the repr implementation of that class\n\n\njust copying what i said on irc.\n\nSCHEMA is a dict which as of ~ python 3.7 maintains insertion order but prviously was unordered. which is why we previously used OrderedDict after sorting the items to have a stable order ot hash over\n\nitemps returns a dict view mapping \nhttps://docs.python.org/3/library/stdtypes.html#dict-views\nwhich technially should have the same iteration order as the underlying dict.\n\nin this new version we likely could remove sorted but i agree with dan that it provides a nice safety net rather then relying on insertion order since the oder of the filed really does not matter provdie they are of the same version and content.\n\nso by keeping sorted if we moved the feilds around but did not change them this will be invariant over that.","commit_id":"4f2bad43214a200d96ab7010f6e7bb58d03b7103"}]}
