[mythtv-users] database error before every recording starts on 0.19-fixes svn revision 9709.

f-myth-users at media.mit.edu f-myth-users at media.mit.edu
Sat Apr 15 07:09:00 UTC 2006


    > Date: Fri, 14 Apr 2006 14:46:42 -0400
    > From: "Michael T. Dean" <mtdean at thirdcontact.com>

    > And it's this back and forth that's not supported.  (Specifically, the 
    > back part is never supported--only the forth. ;)  When you ran a 
    > frontend from SVN head, it upgraded your database for you.  (Yes, the 
    > frontend does a database upgrade, too, as do mythbackend and 
    > mythtv-setup.)  And, the database upgrade succeeded--thus the new 
    > columns in your database.

This behavior of the FE magically updating the BE database strikes me
as incredibly dangerous, and there've been several reports in the last
weeks of people who've apparently been victimized by it.  The fact
that it can get its mitts on the database -at all- in this fashion
also seems like a security issue.

Would it be possible to have the FE -ask first- before going ahead and
updating the database?  It just seems totally wrong for this to happen
this way, because (a) the user might not even realize it's happening,
and (b) updating the DB out from under an older BE seems like a really
good way to break the BE completely---and it's the BE that's recording
stuff, which means you've just broken the ability of the user to get
anything recorded!  This instantly puts the user under unexpected
deadline pressure to update the BE lest recordings get missed (or have
recordings perhaps silently get missed until the user even realizes
that there's a problem and manages to diagnose it).

It all just seems really user-hostile to me.

I propose instead that the FE produce a really large and hard-to-miss
warning that it wants to update the BE database, explain to the user
that this is a one-way trip, and suggest that the user update the BE
-first- and then try again.  (And require the user to confirm
verbosely, e.g., what Lisp would call yes-or-no-p and not y-or-n-p,
and simply quit (with an explanation) if the user says no.)

And there's an even worse failure mode, which is unlikely but
possible.  Suppose I'm visiting my friend's house.  I've got my laptop
with me, and the laptop and my friend have a fast wireless network (or
I'm plugged into a wired one).  Knowing I've been using my laptop as a
Myth FE, he say, "Hey, check out this neato show I just recorded," and
I bring up mythfronend on my laptop after telling it what his BE's
address is.  Unfortunately, he's running 18 and I'm running 19, and
my rogue laptop instantly and without warning smashes his configuration
all to hell.  At this point, his only choice is to go back to a backup
of his database (if he's even been keeping any, which he might not
have been), or to spend a whole lot of time he wasn't anticipating
upgrading---and then throwing me out of his house for making his life
miserable.


More information about the mythtv-users mailing list