Issue 2551034
Created on 2019-03-19 00:26 by joseph_myers, last changed 2019-05-25 03:26 by rouilj.
msg6403 |
Author: [hidden] (joseph_myers) |
Date: 2019-03-19 00:26 |
|
The REST etag generation uses node.items(protected=True). The order in
which properties appear in the result of node.items() is not necessarily
deterministic; it ends up depending on the ordering of dict keys, and
only in more recent Python 3 versions is dict guaranteed to preserve
insertion order.
I think sorting the result of items() should suffice to address this
issue (so repr(sorted(items)) (untested)).
|
msg6419 |
Author: [hidden] (rouilj) |
Date: 2019-03-23 04:17 |
|
Used sorted(items) as suggested and was able to restart the roundup
server under both python3 and python2 and get the same etag for an issue.
The etag would change on every server restart before.
I can't figure out how to test this though. I can't set the creation and
activity dates when creating the test case. Hence the etag is always
different since the data is different.
|
msg6484 |
Author: [hidden] (rouilj) |
Date: 2019-05-25 03:26 |
|
Figured out how to test by hijacking the date.Date function
in the test.
rev5727:8b5171f353eb
has the patch for this.
Closing.
|
|
Date |
User |
Action |
Args |
2019-05-25 03:26:04 | rouilj | set | keywords:
+ rest status: open -> fixed resolution: fixed messages:
+ msg6484 |
2019-03-23 04:17:11 | rouilj | set | status: new -> open assignee: rouilj messages:
+ msg6419 nosy:
+ rouilj |
2019-03-19 00:26:39 | joseph_myers | create | |
|