View Full Version : Help: Need to force Index on 2.0

09-23-2001, 08:00 PM
Any Ideas?

I have a subscribed Tivo that I transfered the slice file to my unsubscribe unit. I did a manual dbload in the tivosh and all the program data showed up in the live guide.

But my To Do list and viewing upcoming episodes on my season passes don't show any of the new data.

I tried to use index13 and reindex but both generate a errFailure message.

I even modified The Doctors cleanup20 script to send GC_AND_INDEX_SOON (2) instead of the GC_ONLY_NOW event. This didn't seem to work as the /var/log/tvlog has entries like this:

Sep 23 23:28:35 (none) Scheduler[130]: DataChanged:PROGRAM_GUIDE
Sep 23 23:28:35 (none) DbGc[116]: got EVT_DATA_CHANGED/DATA_PROGRAM_GUIDE
Sep 23 23:28:35 (none) DbGc[116]: got GC_AND_INDEX_SOON
Sep 23 23:28:35 (none) DbGc[116]: setting action's timeout to MARK_SOON
Sep 23 23:28:35 (none) DbGcBaseAction[115]: Background->SetTimeout( 300 )
Sep 23 23:28:35 (none) DbGc[115]: DbGc::HandleTriggerWhileIdle -- clock is warpe
d -- re-marking in 300 seconds
Sep 23 23:28:35 (none) DbGcBaseAction[116]: Background->SetTimeout( 1 )
Sep 23 23:28:35 (none) DbGc[116]: got GC_AND_INDEX_SOON
Sep 23 23:28:35 (none) DbGc[116]: setting action's timeout to MARK_SOON
Sep 23 23:28:39 (none) Scheduler[130]: InvalidShowing[27974 <?>(3300MB)(11589 36
Sep 23 23:28:39 (none) Scheduler[130]: NoUpcoming[27974 <?>(3300MB)(11589 3600)(
Sep 23 23:29:14 (none) Scheduler[130]: Done CheckProgramSources
Sep 23 23:29:54 (none) Scheduler[130]: Done ProcessProgramSources
Sep 23 23:29:59 (none) Scheduler[130]: Done ProcessSpecialProgramSources
Sep 23 23:29:59 (none) Scheduler[130]: Check for Scheduled Deletions
Sep 23 23:29:59 (none) Scheduler[130]: Done CheckForScheduledDeletion
Sep 23 23:29:59 (none) Scheduler[130]: DataChanged:Completed
Sep 23 23:29:59 (none) Scheduler[130]: OtherDataChanged:PROGRAM_GUIDE
Sep 23 23:32:19 (none) tcl[452]: Tcl created pool of 1458176 bytes

09-23-2001, 11:31 PM
Sorry, sent wrong file last time. I think this is correct version of cleanup20, but will have to run to double check. The shoulld force indexing immediately, and cleanup 2 hours later. Tivo's idea of SOON is not always the same.

09-23-2001, 11:36 PM
With index SOON nothing will show up for many hours. (it is really intended to be run daily and index data a week in advnace.) Even involking the index immediately will take hours. THe only indexing I have verified is that it adds pick by name. If their is additional actions to force indexing showcase data feel free to look for them in TClient code. Let me know what they are.

09-24-2001, 11:14 AM
Cool. The updated clean20 sucessfully does the indexing. I can now go to a season pass and view all the upcoming episodes.

But the To Do list did not update at the same time. I manually editted(with no changes) one of my season passes and it then marked all the upcoming episodes to record.

Is there another event to tell Tivo to rebuild the todo list?

Is your dbload20 supposed to index? It doesn't seem like it would from the script itself.

09-24-2001, 03:50 PM
Either I did something (which I don't think I did) or Tivo just needed about 3/4 of a day to update the To Do list.

The Slice file had about 1 1/2 weeks of data in it.

But everything looks cool now.

09-25-2001, 01:29 AM
I haven't worried about season passes as most people don't use them with pay-per-view... The tivo does dataqbase checks before it attempts to make its dailt call, that may be why the passes updated. I don't use many, and had never bother checking.

You might try adding the following line...
event send $TmkEvent::EVT_DATA_CHANGED $TmkDataChanged::SEASON_PASS 0
It has been reported to work on 1.3, but I have not had a chance to try yet on either 1.3 or 2.0

10-07-2001, 09:55 AM
are u saving them by modifying the tclient scripts?

ive been looking at some of the scripts, w/ the hopes to modify them .. perhaps intercept the remove of the .slice files and putting them on my linux machine for usage on another tivo

Freako- have u done anything with this?

10-08-2001, 10:54 AM
I have been manually saving them by ftp'ing them off.

10-12-2001, 01:40 PM
I noticed this annoying behavior with season passes and have been looking for the correct event to send. I'll try "SEASON_PASS" later on this week when I add the next slice.

Meanwhile, it appears the TiVo's behavior is to get around to updating the season passes sometime after it gets the new slice data. I keep about a week and a half's worth of data fed to the TiVo and add slices with two days worth of data. After I add a new slice, index and cleanup, the season passes still aren't updated. But, sometime after that, they do get added to the ToDo list. My current thinking is that it may be when the next upcoming show to be recorded is removed from the ToDo list after recording. Anyway, if you keep feeding it slice data a week and a half out, its never a problem. But it would be nice to know what the actual event is.

10-16-2001, 01:23 PM
Well, it turns out that my indexing script was already sending this event. So, either it has no effect or the effect is delayed. Here's how it operates:

As I said, I add a new slice with a couple of days worth of data. The new data is indexed in the usual manner and the events are sent. Once indexing is done, you can see the new data, search on it, etc. However, the todo list is not updated until some time in the future (it usually happens when I'm napping or not around). I'm guessing that its within the next 10-12 hours but it may be more. It also may, as I previously noted, be related to the recording and removal of a season pass program off of the todo list.

Regardless, if you keep 10-12 days worth of data loaded on the machine and you keep shoving data at it every couple of days, the season passes do get updated often enough so that there's about 8-10 days of programs on the todo list (the lag is undoubtedly related to the number of days loaded in the slice). This seems good enough for me.