everything else seems to work fine on a multi-server setup!
except that i manually have to edit the config file after it has been
generated, and enter 0.0.0.0 as the address (to make the deamon listen
on incoming ports).




On Oct 28, 2:05 pm, Pat Allan <[EMAIL PROTECTED]> wrote:
> Hi Emil
>
> As usual, I didn't think about multi-server deployments. Considering  
> that the rest of Thinking Sphinx isn't ideally built for that  
> situation, I think for the moment I'll leave the code as it is. But in  
> the future, you're right, it's definitely something that needs some  
> work.
>
> Thanks for the feedback.
>
> Cheers
>
> --
> Pat
>
> On 28/10/2008, at 7:29 PM, Emil Tin wrote:
>
>
>
> > Sounds great, thanks for looking into this.
>
> > One thing though - it sounds like you might be checking the pid file
> > to see if the daemon is running? That will not work in a multi-server
> > setup, where the daemon is running in a separate machine. The daemon
> > could also be unreachable due to whatever network issues etc.
>
> > As look at it, the problem is that "cant connect to search daemon"
> > exceptions can be thrown anywhere in the rails app (since it happens
> > whenever a model is destroyed or uppdated), This makes it impossible
> > to handle these exceptions in a meaningful way.
> > Therefore I would suggest simply never throwing "cant connect to
> > search deamon" exceptions when trying to update delta indexes or
> > changing the delete flag, etc. Instead make sure that a simple
> > reindexing will get everything updated correctly.
>
> > When I perform a search however, throwing the exception still makes
> > perfect sense - I know I'm doing a search, and can handle the
> > situation in a meaningful way.
>
> > Deleting a model might have very high importance. Updating the delta
> > has less importance, and will be fixed by the next reindexing anyways.
> > Therefore I feel that deletes should never fail just because the
> > search engine in unavailable.
>
> > Thanks you for your work!
> > Emil Tin
>
> > On Oct 26, 1:12 pm, Pat Allan <[EMAIL PROTECTED]> wrote:
> >> HiEmil
>
> >> Just added something to Thinking Sphinx so it doesn't try to talk to
> >> Sphinx if it isn't running when a model is destroyed.
> >> Thanks for your patience with this.
>
> >> Cheers
>
> >> --
> >> Pat
>
> >> On 19/10/2008, at 9:05 PM, Pat Allan wrote:
>
> >>> HiEmil
>
> >>> You raise a fair point about problems for model changes while Sphinx
> >>> is being restarted... I don't have a neat solution for that yet -
> >>> although I guess the system could check for the existance of the pid
> >>> file, perhaps? And not try to update to Sphinx if that doesn't
> >>> exist... Hmm. I'll see what I can do.
>
> >>> Cheers
>
> >>> --
> >>> Pat
>
> >>> On 19/10/2008, at 7:04 PM,EmilTin wrote:
>
> >>>> during restart of the sphinx daemon i will have to take the site
> >>>> offline to avoid potential problems in case destroying a models  
> >>>> fail
> >>>> because the deamon can't be contacted.
>
> >>>> what would happpen if the delete flag is not set when a model is
> >>>> destroyed? would a later search then cause errors, or simply return
> >>>> empty records that could be filtered out?
>
> >>>> what would happen if the delta index is not updated when a model is
> >>>> changed? nothing except search results would be a bit out of date,
> >>>> right? as soon as the db is reindexed, things would be fine again?
>
> >>>> i'm considering patching my copy of ts so i would get get warnings
> >>>> (perhaps by email) instead of exceptions if the search daemon can't
> >>>> be
> >>>> reached when deleting/changing models.
>
> >>>> On Oct 18, 4:41 pm, Pat Allan <[EMAIL PROTECTED]> wrote:
> >>>>> That's correct - any change of structure (as opposed to data)
> >>>>> requires
> >>>>> Sphinx to be restarted.
>
> >>>>> --
> >>>>> Pat
>
> >>>>> On 17/10/2008, at 12:51 AM,EmilTin wrote:
>
> >>>>>> hi pat,
> >>>>>> thanks you for reply.
> >>>>>> i trust that the daemon is very stable, but as far as i  
> >>>>>> understood
> >>>>>> it,
> >>>>>> whenever i change the define_index'es i have to stop,  
> >>>>>> reconfigure,
> >>>>>> reindex and restart sphinx?
>
> >>>>>> On Oct 16, 6:13 am, Pat Allan <[EMAIL PROTECTED]> wrote:
> >>>>>>> HiEmil
>
> >>>>>>> Thinking Sphinx doesn't just talk to Sphinx to get deltas  
> >>>>>>> indexed.
> >>>>>>> For
> >>>>>>> example, when a model instance is destroyed, the following  
> >>>>>>> things
> >>>>>>> happen:
>
> >>>>>>> - Check if the instance exists in the core index
> >>>>>>> - Flags it as deleted in the core index if it does
> >>>>>>> - If deltas are enabled and the instance had delta set to true,
> >>>>>>> flag
> >>>>>>> it as deleted in the delta index
>
> >>>>>>> The first two steps happen every time, whether you're using  
> >>>>>>> delta
> >>>>>>> indexes or not. This is to make sure those deleted records don't
> >>>>>>> get
> >>>>>>> returned in search queries.
>
> >>>>>>> And ideally, the Sphinx daemon should be running constantly.  
> >>>>>>> From
> >>>>>>> what
> >>>>>>> I've found (and heard from others), the daemon is very stable,  
> >>>>>>> and
> >>>>>>> rarely crashes. And when it does, that's where process tracking
> >>>>>>> tools
> >>>>>>> like God and Monit can be useful.
>
> >>>>>>> Hope this clears things up a bit.
>
> >>>>>>> --
> >>>>>>> Pat
> >>>>>>> e: [EMAIL PROTECTED]    || m: +614 1327 3337
> >>>>>>> w:http://freelancing-gods.com|| t: twitter.com/pat
> >>>>>>> discworld:http://ausdwcon.org|| skype: patallan
>
> >>>>>>> On 15/10/2008, at 11:27 PM,EmilTin wrote:
>
> >>>>>>>> thanks for you reply.
>
> >>>>>>>> i now have sphinx running on a separate ec2 instance, and rails
> >>>>>>>> accessing it. the key was to edit the production.config.sphinx
> >>>>>>>> file in
> >>>>>>>> the rails config folder on the sphinx server (i deploy the rail
> >>>>>>>> app
> >>>>>>>> folder, but don't run the app) to 0.0.0.0 isntead of the  
> >>>>>>>> default
> >>>>>>>> 127.0.0.0, to make sure it listens to all interfaces, not just
> >>>>>>>> the
> >>>>>>>> local one.
>
> >>>>>>>> destroy an indexed model will still causes an exception if the
> >>>>>>>> sphinx
> >>>>>>>> server can't be reached. that's really bad, since it could mean
> >>>>>>>> otherwise perfect cod breaks down in case th sphinx server is
> >>>>>>>> down.
> >>>>>>>> it's suddently making my rails app very fragile. and there's no
> >>>>>>>> need
> >>>>>>>> to! delta indexing is off! in any case it would be better to  
> >>>>>>>> just
> >>>>>>>> silently ignore the error, so problems are not multiplied. it's
> >>>>>>>> much
> >>>>>>>> worse to have a destroy() call fail than failing to update a  
> >>>>>>>> non-
> >>>>>>>> existing delta search index.
>
> >>>>>>>> On Oct 15, 10:06 am, Pat Allan <[EMAIL PROTECTED]>  
> >>>>>>>> wrote:
> >>>>>>>>> HiEmil
>
> >>>>>>>>> Sorry there's not been a reply to this, but I think the short
> >>>>>>>>> answer
> >>>>>>>>> is: no, there's no easy way to do this. You could overwrite  
> >>>>>>>>> some
> >>>>>>>>> methods or something like that, but it's definitely a hackish
> >>>>>>>>> solution, and would be best just to focus on getting the
> >>>>>>>>> environment
> >>>>>>>>> working correctly so this is no longer an issue.
>
> >>>>>>>>> Sorry, I realise that's not really all that helpful. And I've
> >>>>>>>>> never
> >>>>>>>>> tried EC2, let alone getting Sphinx running on it.
>
> >>>>>>>>> --
> >>>>>>>>> Pat
>
> >>>>>>>>> On 08/10/2008, at 4:59 PM,EmilTin wrote:
>
> >>>>>>>>>> The problem is this: whenever the sphinx server is down, not
> >>>>>>>>>> only
> >>>>>>>>>> the
> >>>>>>>>>> search page stops working. Every page that tries to delete a
> >>>>>>>>>> model
> >>>>>>>>>> will fail. This is a problem while I'm trying to get the  
> >>>>>>>>>> sphinx
> >>>>>>>>>> server
> >>>>>>>>>> up running. I still haven't managed to make TS contact the
> >>>>>>>>>> sphinx
> >>>>>>>>>> server running on a separate EC2 instance.
>
> >>>>>>>>>> Is there anyway to stop TS from trying to change the
> >>>>>>>>>> sphinx_deleted
> >>>>>>>>>> attribute? (Even just temporarily?)
>
> >>>>>>>>>> On Oct 7, 10:18 am, Pat Allan <[EMAIL PROTECTED]>
> >>>>>>>>>> wrote:
> >>>>>>>>>>> HiEmil
>
> >>>>>>>>>>> Sphinx can update _attributes_ in indexes (but not fields -
> >>>>>>>>>>> hence
> >>>>>>>>>>> why
> >>>>>>>>>>> some people use delta indexes) - and there's an attribute,
> >>>>>>>>>>> created by
> >>>>>>>>>>> Thinking Sphinx, called sphinx_deleted. This gets set to  
> >>>>>>>>>>> true
> >>>>>>>>>>> when a
> >>>>>>>>>>> model is deleted, so it won't get returned in future results
> >>>>>>>>>>> (otherwise pagination counts are inaccurate).
>
> >>>>>>>>>>> Cheers
>
> >>>>>>>>>>> --
> >>>>>>>>>>> Pat
>
> >>>>>>>>>>> On 06/10/2008, at 9:12 PM,EmilTin wrote:
>
> >>>>>>>>>>>> Hi!
>
> >>>>>>>>>>>> I'm gettting the error 'Connection to Sphinx Daemon  
> >>>>>>>>>>>> (searchd)
> >>>>>>>>>>>> failed'
> >>>>>>>>>>>> whenever I try to delete any of my indexed models.
>
> >>>>>>>>>>>> It's true that the sphinx server is not running. But delta
> >>>>>>>>>>>> indexing is
> >>>>>>>>>>>> not turned on, so why would TS try to connect to the sphinx
> >>>>>>>>>>>> server
> >>>>>>>>>>>> when destroying a model?
>
> >>>>>>>>>>>> none of my models include :delta => true. They only contain
> >>>>>>>>>>>> trivial
> >>>>>>>>>>>> things like:
>
> >>>>>>>>>>>> define_index do
> >>>>>>>>>>>>  indexes :name
> >>>>>>>>>>>>  indexes :description
> >>>>>>>>>>>> end
>
> >>>>>>>>>>>> trace:
> >>>>>>>>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/
> >>>>>>>>>>>> search.rb:
> >>>>>>>>>>>> 231:in
> >>>>>>>>>>>> `search_for_id'
> >>>>>>>>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/
> >>>>>>>>>>>> active_record/
> >>>>>>>>>>>> search.rb:43:in `search_for_id'
> >>>>>>>>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/
> >>>>>>>>>>>> active_record.rb:
> >>>>>>>>>>>> 121:in `in_core_index?'
> >>>>>>>>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/
> >>>>>>>>>>>> active_record.rb:
> >>>>>>>>>>>> 137:in `toggle_deleted'
> >>>>>>>>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:
> >>>>>>>>>>>> 173:in
> >>>>>>>>>>>> `send'
> >>>>>>>>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:
> >>>>>>>>>>>> 173:in
> >>>>>>>>>>>> `evaluate_method'
> >>>>>>>>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:
> >>>>>>>>>>>> 161:in
> >>>>>>>>>>>> `call'
> >>>>>>>>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:
> >>>>>>>>>>>> 93:in
> >>>>>>>>>>>> `run'
> >>>>>>>>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to