Indexes Gone Wild

Barry Wiseman bwiseman at optonline.net
Mon May 19 19:11:53 PDT 2008


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?



More information about the Filepro-list mailing list