I had a strange problem last night that dropped nearly all my metadata from my box. I recently was testing some ACPI stuff and had occasion to have the box poweroff ungracefully once or twice which resulted in my recording mirrored mountpoint to not mount even after I thought I had corrected the issue. It seemed then that the auto-expiration code ran, saw my rather small / partition as the recording partition and saw that it was below the threshold and started trying to delete stuff. Needless to say, it couldn't, because the files were missing but it still dumped the recorded and oldrecorded data for those recordings.

Obviously I could/should have 1) had a SQL backup. 2) Turned off auto-expire since I have almost 80 GB free normally. 3) Turned off rerecord on autoexpire to retain my metadata in the oldrecorded table even if things were deleted.

But, what I'm thinking is, should the system really be dumping metadata if it tries to auto-expire a file that doesn't exist?

Under normal circumstances, you shouldn't end up with orphaned database entries like that and the system currently just dumps the meta-data and spawns the delete thread without regard for it's success or failure. I would think a better option would be to put all the deletion code in the thread that is spawned and only remove metadata if the file was actually physically deleted to avoid dumping data when other issues may have prevented the file from being unavailable whether locally or via network mountpoints.

Thoughts?

Kevin


_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to