** Description changed: + [Impact] + When running against http://cloud- images.ubuntu.com/releases/streams/v1/com.ubuntu.cloud:released:download.sjson, read_signed() in simplestreams/utils.py seems to take minutes (402 seconds in my instrumented timing) running 100% CPU. At the time of my test, download.sjson is 451737 bytes in 1870 lines. This makes a uvtool sync virtually unusable on Xenial. + [Development Fix] + The culprit is the constant += of a string as it is read in. This is inefficient in Python as each += results in a new string that has to be allocated. Keeping the lines in a list and joining them at the end reduces the time to 0.127 seconds. + [Stable Fix] + + No change cherry-pick of fix committed upstream. + + [Test Case] + + On a machine with reasonable connectivity, run: uvt-simplestreams- + libvirt sync release=xenial arch=amd64 + + Expected result: takes a few seconds with minimal CPU use. + + Actual result: takes more than five minutes with CPU pegged at 100%. + + Scott also has a more direct test case here: + http://paste.ubuntu.com/16377613/ + + [Original Notes] + Merge proposal to follow. I'm filing this bug to track a Xenial SRU.
** Patch added: "xenial.debdiff" https://bugs.launchpad.net/ubuntu/+source/simplestreams/+bug/1580534/+attachment/4661385/+files/xenial.debdiff -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1580534 Title: Signature verification is too slow To manage notifications about this bug go to: https://bugs.launchpad.net/simplestreams/+bug/1580534/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs