[mythtv] auto expire problem with "max episodes" option

Michael T. Dean mtdean at thirdcontact.com
Thu Oct 9 18:07:12 UTC 2014

On 10/09/2014 01:07 PM, George Nassas wrote:
> On Oct 9, 2014, at 7:16 AM, Michael T. Dean wrote:
>> Please post a mythbackend log running with -v file showing the autoexpire run.  You should see information such as the total number of episodes it's identifying for each recording rule with max episodes set.  My best guess is that the "extra" episodes are from rules that no longer exist (i.e. recid has changed on those rules) or exist in the Live TV or Deleted recording group or something like that.
> Good guesses but wrong. They're all recent recordings, I don't use live TV, all are in the "Default" rec group, etc. The oldest rule has been around for six years dutifully trimming excess recordings until last April. Originally I wrote June but I went back and looked and the oldest unexpired show is from April 21. The newest rule is for Seth Meyers' show which I think started in January. There's an expire log at http://pastebin.com/ZCN7YKvc and at the bottom of the file a select against the most problematic recording rule, 1253, showing what's in the database for it.
> While investigating before posting I manually executed the per-rule select of the autoexpire method and traced through the logic. It all looked good except for the part about the "duplicate" column...
>> "duplicate" doesn't mean it's a duplicate.  The duplicate column only identifies an episode as one that /should/ be used in duplicate matching (i.e. one that MythTV should acknowledge as having been recorded)--it says nothing at all about whether or not it's a duplicate episode.
> That's good information and too bad about the regrettable column name. Could it be that the policy for unidentified/generic episodes has been changed and they now take 0 for duplicate where they used to have 1? I don't remember any commits going by like that but it doesn't mean it didn't happen. Something to investigate.
> The 1253 rule is for a current affairs show that rarely has episode information, I don't think they freeze their lineup until a few hours before airtime. I have a post-recording job that scrapes their website and updates the subtitle, description, and airdate&  it wouldn't be much for me to tweak the "duplicate" column at the same time.
> Assuming this analysis is correct I see how to fix my problem but it remains that there's a subtle bug or misbehaviour in myth that ought to be dealt with. Perhaps by addiing a "generic" check in that if (duplicate) test?

The question is why your generics are being marked with duplicate = 0.  
TTBOMK, they shouldn't be (and I know they haven't been in the past).  I 
don't think anyone has added any code to change it such that generics 
get duplicate = 0 set--since duplicate is still explicitly ignored for 
generics (see scheduler.cpp and the "generic = 0" sections).  If someone 
did so as some sort of performance enhancement, it was an invalid 
approach since it will have other repercussions (as you've noticed).

Perhaps these are getting duplicate = 0 because the recording quality 
code determined them to be damaged (and it's unrelated to whether it's a 
generic episode)?  You do seem to have quite a few with subtitles (I'm 
assuming they're not generic, though it's a guess since I don't have 
program IDs) that are also marked duplicate = 0.  You could see more 
info from TVRec::FinishedRecording() (which calls 
RecordingInfo::FinishedRecording(bool allowReRecord) , which does set 
duplicate = 0 if allowReRecord is true) if you run the backend with -v 
record (though even with general logging, you should see messages if the 
recordings are damaged) but you'd have to actually catch a failure.


More information about the mythtv-dev mailing list