Comment 1 for bug 1904551

Revision history for this message
Tim Burke (1-tim-z) wrote :

The reason was hinted-at in https://opendev.org/openstack/python-swiftclient/commit/7175069b that introduced the `or not six.PY2` -- basically, it allows users to continue doing things like

  $ swift post -m '☃:❄'

which swift has allowed ever since account/container metadata was introduced back in https://opendev.org/openstack/swift/commit/e8d3f260.

Now, setting metadata like that isn't a great idea. Doing it in my dev environment made `swift list` go from ~0.5s to ~100s (!) because py3's stdlib doesn't know how to handle the non-compliant header and aborts parsing -- see https://bugs.python.org/issue37093

So the *real* value at the moment comes from being able to *clear* the non-compliant metadata after wondering why everything got so slow after switching to python3. Without it, users would have to either switch back to py2 or just use curl.