Last modified: 2009-07-21 12:47:22 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 18974 - Time outs during decryption
Time outs during decryption
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
SecurePoll (Other open bugs)
unspecified
All All
: Normal major (vote)
: ---
Assigned To: Tim Starling
:
Depends on:
Blocks: 18991
  Show dependency treegraph
 
Reported: 2009-05-28 02:22 UTC by Robert Rohde
Modified: 2009-07-21 12:47 UTC (History)
0 users

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Robert Rohde 2009-05-28 02:22:52 UTC
The encryption key used at SPI during the licensing update had a large bit depth and as a result, gpg took an average of 0.144 s to decrypt a ballot.  Since the current architecture requires that gpg be called once per ballot, 17000 ballots took fully 40 minutes to decrypt in a dedicated script.  The online PHP could not even begin to process this before timing out.

While part of the issue is the 17000 ballots, even with only 1000 ballots (less than a typical Board Vote) this would take 2.4 minutes and time out a typical 30 second PHP execution.  Using a shorter key can counteract this to a degree (I tested a small key that had a 0.03s average execution.)

I'm not sure how to deal with this, but regardless I think it is important to test the tallier and verify that will work for the size of vote expected.  One ad hoc approach is to use set_time_limit to disable the execution limit, though if one is expecting a long execution one probably ought to still stream some form of a progress indicator to the browser (how many people would sit still for tens of minutes if the browser didn't appear to be doing anything?)
Comment 1 Tim Starling 2009-07-21 12:47:22 UTC
The command-line dumping and tallying system as of r53591 should be able to handle elections of any size, providing you're patient enough. Marking fixed.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links