Aaf index rebuild problems on windows

hello list!

i’m still having massive problems with index rebuilds.
after i recently switched to the DRb mode i was hoping to get rid of the
problems with locked files and such.

but even with DRb and the latest stable version of acts_as_ferret my
index rebuilds are failing

C:\Informer>ruby script/console production
Loading production environment.

LegacyInfobase.rebuild_index
IOError: IO Error occured:
couldn’t create InStream
C:/Informer/script/…/config/…/index/production/legacy
_infobase/rebuild_uu.fdt:

could this be the “” in front of the file name thats causing the
problem?

On Wed, Sep 05, 2007 at 10:53:59AM +0200, neongrau __ wrote:

Loading production environment.

LegacyInfobase.rebuild_index
IOError: IO Error occured:
couldn’t create InStream
C:/Informer/script/…/config/…/index/production/legacy
_infobase/rebuild_uu.fdt:

could this be the "" in front of the file name thats causing the
problem?

Strange. The '' seems to be appended by Ferret, aaf just tells it to
rebuild the index in the rebuild directory, without trailing
(back)slash.

However I think if this were the problem, more people would have
already discovered this. Does rebuilding the index without DRb, just
from the console, without the application running, work?

cheers,
Jens


Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[email protected] | www.webit.de

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa

will try this now.

for the moment the only way to rebuild my index (tested on XP and 2003
server) is to delete or rename the models index dir, call
“.find_by_content” and wait until the index is created.
most of the time i even have to restart the DRb before that because
otherwise windows complains about the dir being in use.

but that causes a downtime of the search function for at least 20
minutes.

Jens K. wrote:

for the moment the only way to rebuild my index (tested on XP and 2003
server) is to delete or rename the models index dir, call
“.find_by_content” and wait until the index is created.

why Model.rebuild_index doesn’t work?

that would work as well after the restart, but the find will start the
rebuild itself when there is no index. so i just hit the search button
in the browser and wait for the rebuild to finish.

most of the time i even have to restart the DRb before that because
otherwise windows complains about the dir being in use.

Omg, please do yourself a favour and switch to a platform with a file
system that actually works. I think all your problems would go away if
you tried it out on Linux or MacOSX.

trust me i would have ditched windows years ago. but thats not so easy
if you have a customer base that is using only using windows.

at least i’m on a mac now myself with windows running only in vmware.
but for now i have to get it to work on the windows machines. then i’m
going to set it up on a linux vm.

On Wed, Sep 05, 2007 at 11:43:45AM +0200, neongrau __ wrote:

will try this now.

for the moment the only way to rebuild my index (tested on XP and 2003
server) is to delete or rename the models index dir, call
“.find_by_content” and wait until the index is created.

why Model.rebuild_index doesn’t work?

most of the time i even have to restart the DRb before that because
otherwise windows complains about the dir being in use.

Omg, please do yourself a favour and switch to a platform with a file
system that actually works. I think all your problems would go away if
you tried it out on Linux or MacOSX.

but that causes a downtime of the search function for at least 20
minutes.

Yeah. The drb server gets around this by doing the rebuild in a separate
directory.

Cheers,
Jens


Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[email protected] | www.webit.de

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa

hi jens!

just a short question…

Jens K. wrote:

Yeah. The drb server gets around this by doing the rebuild in a separate
directory.

how exactly does this work?

  • the index gets built in a temp dir named “rebuild”
  • when indexing is complete the “rebuild” gets renamed to a timestamp
    like “20070906122218”

now does the search automatically use the index with the latest
timestamp?

by now i have 3 timestamped dirs with indexes and the old index directly
in that models dir. how many old versions are kept?

or is this again some stupid behavior by windows?

grüsse
ralf

On Thu, Sep 06, 2007 at 02:37:09PM +0200, neongrau __ wrote:

how exactly does this work?

  • the index gets built in a temp dir named “rebuild”
  • when indexing is complete the “rebuild” gets renamed to a timestamp
    like “20070906122218”

Exactly.

now does the search automatically use the index with the latest
timestamp?

Yes. the DRb server switches over to the new index as soon as it’s
ready.

by now i have 3 timestamped dirs with indexes and the old index directly
in that models dir. how many old versions are kept?

Aaf doesn’t destroy old indexes, you have to do this yourself. You can
also remove the old index directly in that models dir, aaf won’t use it
if there is any other index version present.

or is this again some stupid behavior by windows?

not this time :slight_smile:

cheers,
Jens


Jens Krämer
webit! Gesellschaft für neue Medien mbH
Schnorrstraße 76 | 01069 Dresden
Telefon +49 351 46766-0 | Telefax +49 351 46766-66
[email protected] | www.webit.de

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa