** 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

Reply via email to