Just to clarify: is this all working nicely now? Not quite sure from your 
update :)

-- 
Pat

On 08/10/2010, at 10:32 AM, Coilcore wrote:

> Hmm, nevermind.  The sphinx binary was using indexes from the local
> filesystem, not on the network.  Its all in haproxy that I have to
> work.
> 
> On Oct 7, 3:26 pm, Coilcore <[email protected]> wrote:
>> We currently have a single sphinx instance and its starting to hit
>> capacity.  In growing it I'd like to also introduce some high
>> availability as well (everything else in our environment is already
>> redundant with automatic fail over).
>> 
>> So I setup three separate sphinx instances on three different nodes,
>> and setup haproxy on all of the clients.  Port 3321 is accessed
>> locally, but just does a request to one of the sphinx instances.
>> Using the 'search' binary everything looks great, I can run a search
>> with any permutations and get back the expected results.  I can also
>> see the traffic distributed as expected.
>> 
>> Now, it gets interesting.  ThinkingSphinx acts like searchd is not
>> there.  When I dig deeper it looks like all the way down at Riddle it
>> seems that it can connect fine, but none of the responses have
>> anything Riddle is expecting (in fact they look empty to Riddle).
>> Heres an example of the flow from console:
>> 
>>>> sphinx = ThinkingSphinx::Configuration.send(:new, Rails.root)
>> 
>> => #<ThinkingSphinx::Configuration:0x2ac584362d00 ... >>> sphinx.version
>> => "0.9.8"
>>>> riddle = sphinx.client
>> 
>> => #<Riddle::Client:0x2ac584357a18 @overrides={},
>> @group_function=:day, @index_weights={}, @weights=[], @limit=20,
>> @cut_off=0, @max_matches=10000, @field_weights={}, @group_by="",
>> @socket=nil, @anchor={}, @sort_by="", @server="127.0.0.1",
>> @group_distinct="", @max_query_time=0, @filters=[], @offset=0,
>> @retry_delay=0, @sort_mode=:relevance, @port=3312, @queue=[],
>> @select="*", @group_clause="@group desc", @timeout=0,
>> @rank_mode=:proximity_bm25, @id_range=0..0, @retry_count=0,
>> @match_mode=:all>
>> 
>> ?> riddle.send(:connect) do |socket|
>> ?>   socket.send([5, 0x100, 4, 1].pack('nnNN') + 'status', 0)
>> 
>>>>   header = socket.recv(8)
>>>>   header.unpack('n2N')
>>>> end
>> => [nil, nil, nil]
>> 
>> Its probably some subtle config param in my haproxy configuration, but
>> its really weird that the search binary behaves properly but riddle
>> just crashes and burns.  Any one have any advice or directions on this
>> one?
> 
> -- 
> 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.
> 

-- 
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