[mythtv-commits] Ticket #10704: Expired programs are not being deleted with master/slave backends.

MythTV noreply at mythtv.org
Tue May 8 16:24:45 UTC 2012


#10704: Expired programs are not being deleted with master/slave backends.
------------------------------+--------------------------------------
 Reporter:  Ian Dall <ian@…>  |           Type:  Bug Report - General
   Status:  new               |       Priority:  minor
Milestone:  0.26              |      Component:  MythTV - General
  Version:  Master Head       |       Severity:  medium
 Keywords:                    |  Ticket locked:  0
------------------------------+--------------------------------------
 When there are separate master and slave backends, recordings made on the
 slave are not deleted properly. They are moved to the "Deleted" recording
 group, but the files are not deleted and the database entries are not
 removed from the 'recorded' table.

 Since this does not free up space, eventually all expirable programs end
 up in the "Deleted" group.

 If the master backend is restarted the files are deleted and the database
 entries removed.

 This appears to be introduced with commit
 f78f9992d754390fa42f109e5139b8eaf224d076

 This appears to be because AutoExpire::!SendDeleteMessages() records
 programs which have been moved to the "Deleted" group in deleted_set.
 Autoexpire::!UpdateDontExpireSet() initialises dont_expire_set from
 deleted_set and AutoExpire::FillDBOrdered() skips programs in
 dont_expire_set when constructing expireList.

 I can see what is wrong but it is harder to understand what is supposed to
 be happening and figure out the fix. This is not helped by some some
 variable and function names. dont_expire_set seems to be used to mean
 "don't delete" rather than "don't expire".

 I THINK removing all references to deleted_set and initialising dont
 expire_set to the empty set would solve the problem.

 This issue would be masked by what looks like another bug when there are
 no slave backends. If the recording hostname is the same as the master
 hostname, autoexpired programs are just deleted without first sticking
 them in the "Deleted' recording group.

-- 
Ticket URL: <http://code.mythtv.org/trac/ticket/10704>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center


More information about the mythtv-commits mailing list