Never mind -- GEMS logging to the rescue. Hmmm, maybe I could get used to this logging stuff after all.
Recover is working fine; all your memory cards have changed. See attached.
- To: "rcr" <email@example.com>
- Subject: Re-download memory cards (RE: GBS/Wisconsin, State of)
- From: "Ken Clark" <firstname.lastname@example.org>
- Date: Mon, 29 Nov 1999 18:14:02 -0600
- Importance: Normal
- In-Reply-To: <NCBBIGGNCKBDKCCGPEOAKEPHCOAA.email@example.com>
9. Eliminate requirement that ALL memory cards must be downloaded if the election is taken out of "Set for Election" mode (or create a super user that can bypass this situation. (This was also in VTS)This was a bug in VTS. I'd rather not see the hole opened up in GEMS. The correct way to solve this is to store additional information in GEMS to track whether a memory card really needs re-download or not. This is not a simple project, and we don't have a timeframe for taking it on right now, but it is on our list.I broke down and implemented this finally. It has been on the TODO list since GEMS started downloading memory cards, but just never made it to the top of the list until now. The feature is in GEMS 1.14.1.What GEMS now does is store a "signature" along for the memory card when it is downloaded. When you un-set-for-election, GEMS no longer clobbers all memory cards. Instead, when you again set-for-election, GEMS will prompt whether you want to try to recover programmed memory cards. If you say yes, it will regenerate the memory card images and signatures, and compare against the signatures from the previous download. If they match, the memory card will remain in the downloaded state with the same version. If the signatures don't match, the memory card is set to not-programmed just like before. If you make a change to the database that affects only one memory card, only that card will need to be reprogrammed.Note that for all its power, this is not a magic bullet. If you change something that affects all memory cards (changing the election title for example), you will still have to redownload everything. If you know that a change has clobbered all the memory cards, or are just testing, don't bother answering yes to the recovery prompt. The recovery process can take a very long time -- it does exactly the same process as redownloading all cards.Also note that this feature interacts badly with the (mis)feature that you can change race and candidate labels after set-for-election. As has been discussed before, this should not be allowed, but is currently allowed by popular demand. Unfortunately, this confuses the signature mechanism, since the memory card contents really have changed. If you change the labels while set-for-election, then unset, those affected memory cards will need to be re-downloaded.Finally, don't let this new feature change the way you think about set-for-election. This has been my greatest concern with providing a recovery mechanism. If you use the feature, you have to take responsibility for programming those cards that need it. When all memory cards were clobbered, you knew exactly where you stood. You collected all your cards in one place and started reprogramming. Now you have to make sure that the few cards that needed to be reprogrammed aren't sitting in an AccuVote somewhere waiting to get shipped to the polling place. They won't upload if they are the wrong version. If this sounds scary you, it should. If you don't feel this is manageable, just say no to the recover prompt to get the old GEMS "clobber everything" behaviour.In short, take unsetting seriously. It is there for your protection.Ken