Back to bug 1375930
| Who | When | What | Removed | Added |
|---|---|---|---|---|
| Red Hat Bugzilla Rules Engine | 2016-09-14 09:17:54 UTC | Target Release | --- | 10.0 (Newton) |
| Jaromir Coufal | 2016-10-10 03:08:22 UTC | Keywords | Triaged | |
| Priority | unspecified | high | ||
| Status | NEW | POST | ||
| CC | jcoufal | |||
| Target Milestone | --- | ga | ||
| Zane Bitter | 2016-10-14 14:54:06 UTC | Status | POST | MODIFIED |
| Jon Schlueter | 2016-10-14 16:48:38 UTC | CC | jschluet | |
| Target Milestone | ga | rc | ||
| Jon Schlueter | 2016-10-14 16:49:32 UTC | Fixed In Version | openstack-heat-7.0.0-1.el7ost | |
| errata-xmlrpc | 2016-10-14 16:59:09 UTC | Status | MODIFIED | ON_QA |
| Amit Ugol | 2016-11-01 06:13:45 UTC | Status | ON_QA | VERIFIED |
| Zane Bitter | 2016-11-22 17:30:00 UTC | Doc Text | Cause: The str_replace intrinsic function worked by calling the Python str.replace() method for each string to be replaced. Consequence: If the replacement text for one replacement contained another of the strings to be replaced, the replacement text itself could be replaced. The result was non-deterministic, since the replacement order was not guaranteed. Therefore users had to be careful to use techniques such as guard characters to ensure that there was no misinterpretation. Fix: Replacements are now performed in a single pass, so only the original text is subject to replacement. Result: The output of str_replace is now deterministic, and consistent with user expectations even without the use of guard characters. When keys overlap in the input, longer matches are preferred. Lexicographically smaller strings will be replaced first if there is still ambiguity. | |
| Doc Type | If docs needed, set a value | Bug Fix | ||
| Martin Lopes | 2016-12-05 04:56:13 UTC | CC | mlopes | |
| Doc Text | Cause: The str_replace intrinsic function worked by calling the Python str.replace() method for each string to be replaced. Consequence: If the replacement text for one replacement contained another of the strings to be replaced, the replacement text itself could be replaced. The result was non-deterministic, since the replacement order was not guaranteed. Therefore users had to be careful to use techniques such as guard characters to ensure that there was no misinterpretation. Fix: Replacements are now performed in a single pass, so only the original text is subject to replacement. Result: The output of str_replace is now deterministic, and consistent with user expectations even without the use of guard characters. When keys overlap in the input, longer matches are preferred. Lexicographically smaller strings will be replaced first if there is still ambiguity. | Previously, the `str_replace` intrinsic function worked by calling the Python `str.replace()` method for each string to be replaced. Consequently, if the replacement text for one replacement contained another of the strings to be replaced, the replacement text itself could be replaced. The result was non-deterministic, since the replacement order was not guaranteed. Therefore users had to be careful to use techniques, such as guard characters, to ensure that there was no misinterpretation. With this update, replacements are now performed in a single pass, so only the original text is subject to replacement. As a result, the output of `str_replace` is now deterministic, and consistent with user expectations even without the use of guard characters. When keys overlap in the input, longer matches are preferred. Lexicographically smaller strings will be replaced first if there is still ambiguity. |
||
| errata-xmlrpc | 2016-12-14 13:41:15 UTC | Status | VERIFIED | RELEASE_PENDING |
| errata-xmlrpc | 2016-12-14 16:01:48 UTC | Status | RELEASE_PENDING | CLOSED |
| Resolution | --- | ERRATA | ||
| Last Closed | 2016-12-14 11:01:48 UTC |
Back to bug 1375930