[mythtv-users] Potential Problem With Switch Back to Standard Time
Kevin Atkinson
kevin at atkinson.dhs.org
Sat Oct 29 14:48:21 EDT 2005
On Sat, 29 Oct 2005, Kevin Atkinson wrote:
> [List should probably also go to the dev list also, if I don't get a
^^^^ = This
> response from any developers I will likely post it there also...]
>
> I am not a developer but I just spent the last 3+ hours investigation the
> situation.
>
> The switch back to Standard Time this Sunday is likely to mess MythTV
> up. If you are getting your data from the Data Direct service form
> zap2it labs the most likely behavior is that everything will be off by an
> hour. However, rereading the program data back in should to fix the
> problem. If you get your data from a web page than your schedule may or
> may not be correct.
>
> The reason for the anomaly when using the Data Direct service is
> because the times are given in UTC and MythTV converts them to local time
> without accounting for the switch. There is a slight possibility that
> MythTV may correct for the problem and update the program guide when it
> detects the switchover. However I do not think MythTV will do this.
>
> For users who get there data from a web page this anomaly in unlikely
> because the times are probably already in local time.
>
> However, in both case, if you try to record something between 1:00-2:00,
> MythTV may act in strange ways as at 2:00 the time gets reset back to
> 1:00. MythTV could record a show twice or it could do any number of other
> things, hopefully it won't wipe your hard drive ;). From that point on
> the guide will than be off by an hour until it gets reread from the
> server.
>
> However, there will be problem even if MythTV correctly detected the
> switch back to standard time due to the fact that programs times are
> stored in the database in in _local_ time. This means that it is
> _impossible_ to store program information for the extra hour AND also keep
> the listing accurate across the switch back to standard time. Thus there
> is the choice to ignore the switch and just lets things be off by an hour
> until the user notices and corrects for the problem (or until the program
> data expires and new data is read in with the correct adjustment) or make
> it impossible to to record a program during this extra hour By just
> ignoring the the switch the user has some hope of recording something
> during the extra hour AND keeping the schedule consistent by tricking the
> computer into NOT adjusting the clock for the switch.
>
> The real solution to this problem is to store all times in the database in
> _UTC_ and only convert it back to local time when displaying it to the
> user. All program times entered in my the user should thus be converted
> to UTC. This way there are no anomalies during the switch. MythTV may
> also need to be aware of when the switch happens in order to correctly
> display the Grid and program times before and after the switch. The only
> major problem is that manually recording a program during the extra hour
> will be impossible without some sort of special feature of the GUI to
> indicate _which_ 1:00 the user meant.
>
> Thus, I _*STRONGLY*_ suggest that MythTV be modified to store the Program
> Times in UTC rather than local time. Of course this will create a
> migration problem. The easiest solution is to automatically convert all
> the exiting program times to UTC in the database when a user first uses a
> newer version of MythTV. Once the data is converted a extra flag can be
> stored somewhere that the program times are now in UTC and they should not
> be converted again. This switch should be well documented so that the
> user us aware of the change in case he downgrades to an version of MythTV
> that still uses local time. In this case there should be a way to convert
> the program data from UTC back to Local Time.
>
> Since I am recording stuff during the extra hour I set my time zone to
> "GMT+6" which is the same as MDT but hopefully won't change during the
> switch back to standard time. I did this by using "tzconfig" and then
> selecting "11" for "None of the Above" and then selected "GMT+6". This
^^ = 12
> should work for most Debian based systems. Other distributions likely have a
> different way of setting the timezone. I will still be watching MythTV
> closely to make sure it doesn't do anything funny (I don't normally go to
> bead before 3:00 anyway).
I also disabled the automatic downloading of program just to be safe.
Sunday morning, I will change the timezone back to what it should be and
correct the program data by redownloading it.
> BTW: I noticed this problem because mythweb is somehow accounting for the
> switch when displaying the grid, but it is not doing it correctly since
> there is a gap in the schedule during the extra hour when nothing is
> shown, and the times are all wrong after words. So thank you mythweb
> developers for incorrectly hading the switch, otherwise I would have not
> noticed this problem until it was too late :-|
I should also mention that it accounts for the switch even when the
current timezone is set to something that doesn't switch for Daylight
saving time.
--
http://kevin.atkinson.dhs.org
More information about the mythtv-users
mailing list