On Tue, Apr 03, 2007 at 03:34:11PM -0400, François Beausoleil wrote: > Hi all, > > We're attempting to use Ferret with the DRb server at the moment, and > it doesn't work, at all... > > = Executive Summary > > The DRb server process keeps on calling the remote index to the DRb > server process... Which means DRb is calling itself, and itself, and > itself, until Ruby kills the Thread with a SystemStackLevel error. > [..] > > From my limited understanding of the code, it looks like the Ferret > DRb server is using a remote index instead of a local one.
I'd guess that's the problem. The decision what indexer to use is made in act_methods.rb, line 62, depending on the state of ActsAsFerret::Remote::Server.running So if the acts_as_ferret method would be called before the DRb server is up and running what you describe could happen. Maybe there's some code in your environment.rb that causes the loading of your model classes by script/runner before the server gets a chance to start up? As I think of it now, the way how this is done might not be the ideal solution to the problem of deciding whether acts_as_ferret is called in the DRb-server or not - an environment variable set when starting the server and checking this in act_methods.rb instead of the server's running method might help: IS_SERVER=true script/runner -e development vendor/plugins/acts_as_ferret/script/ferret_start and in act_methods line 62: options.delete(:remote) if ENV['IS_SERVER'] 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 _______________________________________________ Ferret-talk mailing list [email protected] http://rubyforge.org/mailman/listinfo/ferret-talk

