On Tuesday 19 Apr 2005 22:37, Daniel Herlitz wrote: > I would suggest you simply do not create unusable indexes. :-)
I agree! :) I am obviously very confident that my application is building indexes correctly. I'm thinking of the rarer instances whereby user or system error has caused a problem. These could be permission problems, bad sector forming on harddisk that happens to be the same sector containing an index, user accidentally removing a file in the index, a virus, etc. All seem pretty far fetched, but not impossible. As the index is rather critical to my program, I just wanted to make it really robust, and able to cope should a problem occur with the index itself. Otherwise, the user will be left with a non-functioning program with no explanation. That's my reasoning anyway. Andy > Handle > catch/throw/finally correctly and it should not present any problems. > > Assume one app builds the index, another uses it: > > try: Build the index in a separate catalogue. > finally: remove ('rm') production index and move ('mv') newly built > index to its place. Notify using app that it should reopen its IndexReader. > > This relies on UNIX file handling semantics. (Can't say a word about > Windows). Don't know if this applies at all to our situation, but it > works for us. > > /D > > Andy Roberts wrote: > >Hi, > > > >Seems like an odd request I'm sure. However, my application relies an > > index, and should the index become unusable for some unfortunate reason, > > I'd like my app to gracefully cope with this situation. > > > >Firstly, I need to know how to detect a broken index. Opening an > > IndexReader can potentially throw an IOException if a problem occurs, but > > presumably this will be thrown for other reasons, not just an unreadable > > index. Would the IndexReader.indexExists() be better? > > > >Secondly, to test how my code responds to broken indexes, I'd like to > >purposely break an index. Any suggestions, or will removing any file from > > the directory be sufficient? > > > >Many thanks, > >Andy > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]