Hello Willy,

when the 'enable' command fails, it ignores ALL the servers in the list, e.g., 
see line 2 and line 4 of the logs below. The command is exactly the same, 
however it fails at the first attempt.

For testing purposes, I have now added a small sleep (40 ms) between the 
enable/disable command and the "check". It looks like things are working as 
expected now.
Please note, however, that this is not due to the fact that I am using 2 
separate sockets -- the spurious behavior occurs even if a single socket (open 
in interactive mode) is employed.


Thanks,
Michele


On Mar 15, 2012, at 11:49 AM, Willy Tarreau wrote:

> Hi again,
> 
> On Thu, Mar 15, 2012 at 11:42:24AM +0200, Michele Mazzucco wrote:
>> Hi Willy,
>> 
>> I apologize if I wasn't clear. The comment in my previous email means that 
>> the servers were enabled, as expected.
>> In other words, disabling servers seems to work fine ALL the times, while 
>> enabling servers works from time to time only.
>> 
>> In the scenario described by those logs (see my previous email), 2 servers 
>> are always enabled, while 3 are enabled/disabled at runtime.
>> 
>> The following log
>> 
>> 2012-03-15 08:14:18,112 Enabling reserves
>> 2012-03-15 08:14:18,113 enable server www/i-95f89df1 ; enable server 
>> www/i-8bf89def ; enable server www/i-97f89df3   <--- line 2
>> 2012-03-15 08:14:18,113 Expected 5 active serves, have 2, calling 
>> change_state() again                                                         
>>       <--- line 3
>> 2012-03-15 08:14:18,113 enable server www/i-95f89df1 ; enable server 
>> www/i-8bf89def ; enable server www/i-97f89df3   <--- line 4
>> 
>> 
>> means that 3 servers were supposed to be enabled after line 2 (e.g., 5 
>> servers in total), but were not (only the 2 'always on' servers are enabled).
>> Hence, the command was issued again in line 4. This time the command 
>> succeeded.
>> 
>> 
>> Here, instead:
>> 
>> 2012-03-15 08:15:45,289 Enabling reserves
>> 2012-03-15 08:15:45,290 enable server www/i-95f89df1 ; enable server 
>> www/i-8bf89def ; enable server www/i-97f89df3   <---- enabling works fine
>> 
>> the command succeeded at the first attempt.
>> 
>> 
>> I should mention that line 3 above uses a (different) socket which is open 
>> in interactive mode. There, the updated state is retrieved by means of 'show 
>> stat'.
>> 
>> 
>> Does it make any sense now?
> 
> Yes it's clearer that way. Still, if you have a means to report which servers
> fail to be enabled, it would help. For instance we might discover it's always
> the beginning of the list or the end of the list which is ignored.
> 
> Regards,
> Willy
> 


Reply via email to