http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5751





------- Additional Comments From [EMAIL PROTECTED]  2007-12-23 09:24 -------
(In reply to comment #13)

> As you may have guessed at this point, I'm not very sympathetic to people
> burning themselves when playing with fire.  I think fire is important, and 
> want
> to make sure that if people want to, they can play with it.  I don't mind 
> making
> sure the warning signs are clear about the dangers of doing so, however.

Yes but I think there is another equally valid point here which is that a failed
(partial) update shouldn't leave you in a worse state. The first priority with
failed updates should be "DO NO HARM"
The problem in my mind is that even the most trivial addition to __version__ as
part of a failed multi-part run of sa-update causes ALL the default rules in
__def_rules_dir__ to be overriden leaving spamassassin in a broken state.

IMHO, this is a rather unnatural result in that one would naively expect that
updates would fail gracefully in that old rules would only be overriden to the
extent that they are replaced (or intentionally not replaced).

I think a better answer would be to have the default case of a partial update
failure be that NONE of the updates occur unless you use a (new) command line
flag --force. A failed partial update would then give a clear warning to the
effect that "No update occurred since update xxx failed. If you want to allow
only a partial update to proceed then use the --force flag"

I think this "default do-no-harm" policy is much better than just adding more
warnings. In my specific case, the sa-update was run from a root-only readable
cron file that I didn't even realize was there (we can't all know everything
about our systems :) and its ouput was buried deep in some log file so I never
even knew a failed update occurred. The result is that without any warning I was
left with an inoperable spamassassin setup. With my suggestion, the default
would have been that no update occurred and at least spamassassin would still 
work.

Also, in my particular case, even the update portion that did occur didn't help
because those rules had dependencies on rules in updates.spamassassin.org so
allowing a partial update truly had no benefit at all.

IMHO, the desired behavior should be analogous to programs like 'rpm' where if
you specify multiple rpms to install/upgrade then the installation/upgrade only
occurs if ALL of them work unless you use the --nodeps or --force type flags to
override the default behavior if you really know what you are doing.

I'm not sure why anyone would object to this compromise solution since experts
like yourself could still proceed at their own risk and allow partial updates to
occur while less sophisticated users would at worse have a still working but not
updated spamassassin installation.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to