Opened 4 years ago
Closed 3 years ago
Last modified 3 years ago
Expired programs are not being deleted with master/slave backends.
|Reported by:||Ian Dall <ian@…>||Owned by:||stuartm|
|Component:||MythTV - Housekeeper||Version:||Master Head|
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.
Change History (12)
Changed 4 years ago by Ian Dall <ian@…>
comment:1 Changed 3 years ago by beirdo
- Milestone changed from 0.26 to unknown
comment:2 Changed 3 years ago by Jason <jason-devel-mythtv@…>
comment:3 Changed 3 years ago by Ian Dall <ian@…>
comment:4 Changed 3 years ago by davescammell@…
comment:5 Changed 3 years ago by stuartm
- Type changed from Bug Report - General to Patch - Bug Fix
comment:6 Changed 3 years ago by stuartm
- Component changed from MythTV - General to MythTV - Housekeeper
- Milestone changed from unknown to 0.26.1
- Owner set to mdean
- Status changed from new to assigned
comment:7 Changed 3 years ago by davescammell@…
comment:8 Changed 3 years ago by stuartm
- Owner changed from mdean to stuartm
- Status changed from assigned to accepted
comment:9 Changed 3 years ago by Ian Dall <ian@…>
- Resolution set to fixed
- Status changed from accepted to closed