Indexes Gone Wild
Bruce Easton
bruce at stn.com
Tue May 20 06:50:54 PDT 2008
Barry Wiseman wrote Monday, May 19, 2008 10:12 PM:
> SunOS 5.9
> filePro 5.0.13
>
> I'm working on why indexes at this site keep getting corrupted (don't
> reliably show records which are in fact in the file; index rebuild
> helps), watching carefully in the evening when there are only several
> users active instead of hundreds.
>
> I'm observing the following curious phenomenon with a known bad index.A.
> The mod timestamp on this index is typically newer than the key or
> other indexes, sometimes by a lot. Here's a snapshot showing a
> seven-minute lag:
>
> #pwd
> /u/appl/filepro/notelns
> Trinity #l -tr key index.*
> -rw------- 1 filepro other 345012318 May 19 21:46 key
> -rw------- 1 filepro other 537054208 May 19 21:46 index.P
> -rw------- 1 filepro other 524056576 May 19 21:46 index.O
> -rw------- 1 filepro other 482894848 May 19 21:46 index.F
> -rw------- 1 filepro other 422981632 May 19 21:46 index.E
> -rw------- 1 filepro other 294321152 May 19 21:46 index.D
> -rw------- 1 filepro other 178771968 May 19 21:46 index.C
> -rw------- 1 filepro other 57499997 May 19 21:46 index.B
> -rw------- 1 filepro other 122174464 May 19 21:53 index.A
>
> Eventually, key and all indexes are updated in the expected manner, like
> this:
>
> #l -tr key index.*
> -rw------- 1 filepro other 345012570 May 19 22:07 key
> -rw------- 1 filepro other 537054208 May 19 22:07 index.P
> -rw------- 1 filepro other 524056576 May 19 22:07 index.O
> -rw------- 1 filepro other 482894848 May 19 22:07 index.F
> -rw------- 1 filepro other 422981632 May 19 22:07 index.E
> -rw------- 1 filepro other 294321152 May 19 22:07 index.D
> -rw------- 1 filepro other 178772992 May 19 22:07 index.C
> -rw------- 1 filepro other 57500039 May 19 22:07 index.B
> -rw------- 1 filepro other 122174464 May 19 22:07 index.A
>
> Then some dang program starts writing index.A only all over again.
>
> This file is maintained only via lookups from other files. The index is
> built on four fields: (8,.0),(14,*),(8,mdy/),(3,.0). At moments like
> the above when index.A but nothing else has been written, there are no
> record locks on the key or any of the indexes. (No, there aren't any
> keyx* segments.)
>
> What sort of filePro code could cause clerk to write index.A without
> writing the key? Or has this OS simply lost its marbles?
>
Is it possible that the program has been corrupting one or more
indexes all along, and that there was some previous (prior to your
involvement) program run to rebuild index A? (Something initiated
by cron comes to mind first, but I guess someone could have
hidden a system command for dxmaint inside a filepro program and
that maybe gets kicked off when some other program [i.e., nightly
totalling program] gets run.) Have you grep'd for dxmaint in
processing and checked the cron?
Bruce
Bruce Easton
STN, Inc.
More information about the Filepro-list
mailing list