https://bugs.launchpad.net/txloadbalancer/+bug/279883
hopefully we can check in a fix for this before getting release 1.2 together.
--
Jehiah
http://jehiah.cz/
On Tue, Oct 7, 2008 at 3:36 PM, Duncan McGreggor
<duncan.m...@gmail.com> wrote:
> On Tue, 2008-10-07 at 15:15 -0400, Jehiah Czebotar wrote:
>> so i have a scenario which i want to ask you about
>>
>> suppose i have a service in txlb named 'webkit' and that has 4 hosts
>> app01,app02,app03,app04.
>>
>> when i restart the listening application on app01-04 it stops
>> receiving connections on the specified port for about half a second.
>> If a request comes through txlb during that half second that host gets
>> marked as dead as it should.
>>
>> My understanding is that this dead host will not be re-added to the
>> webkit service till the hostCheck runs and is able to connect. However
>> if all 4 hosts happen to be marked as dead, i really want the next
>> incoming connection to try to connect to a dead host until one is
>> successful and added back into rotation, all without having to wait
>> for a timer to fire on the hostCheck event.
>>
>> Is the only (current) way to accomplish this to set the hostCheck to a
>> really small interval? (which has the downside of, when set at .5sec
>> or so, clobbering hosts while they are trying to start up)
>>
>> Thanks. If you can think of a better way to handle the above scenario,
>> I'll be happy to try and work up an implementation.
>
> What we need to do is add some logic in the host-checking code: in the
> even that all hosts are marked as dead, mark all as active. There should
> be something like that in there from the original code, so maybe all we
> have to do is make sure it actually gets called.
>
> Regardless, it's an easy fix :-)
>
> d
>
>
Thanks for all your help, Jehiah -- these bug reports are the best way
to get me put some attention on the issues in txLB :-)
I've gone through the remaining issues (didn't realize you'd put more
up!) and have made plans for addressing them. All of these probably
won't get done this week, but let's keep our fingers crossed for next
week.
d
Charles: can you checkout the trunk branch? we recently added a
RunningConfigXml class
(https://bugs.launchpad.net/txloadbalancer/+bug/277899) which maps to
/running.xml and seems to do the same thing as your RunningData
--
Jehiah
--
Jehiah
Thanks for passing the patch along to the list.
I also wrote a bug to track getting the output in json/python data
structure format, so we don't forget about it.
https://bugs.launchpad.net/txloadbalancer/+bug/280790
--
Jehiah
I guess your controller application has already been written... does it
do screen-scraping-type activities to automate filling in form data and
submitting it?
If you hadn't already written your application or if you do rewrite it
sometime in the future, would an XML-RPC interface be of interest for
you? Or are you specifically in need of a RESTful interface?
Thanks,
d
[snip]
> The class and two functions written in pages.py below provide that
> information for us. One thing I did notice, the count on open ports
> never goes down when we disable a group. It looks like it could be a
> bug. . .
>
I have added a ticket for this:
https://bugs.launchpad.net/txloadbalancer/+bug/280799
Thanks!
d
Charles,
Note that I will be adding Jehiah's code sometime in the next day or
two. We should have a new release out with several bug fixes and
features sometime next week.
d
one additional thought (perhaps slightly off topic) is that in the
scripts i have written to enable/disable services via the rest api, i
ended up scraping the web page to see if an ip was enabled/disabled.
perhaps we should add a rest api for /checkStatus?service=&group=&ip=
command that returns 'ENABLED', 'DISABLED', or 'NOT_FOUND' ? That
might solve at least one of the cases where currently you have to
scrape the admin page
--
Jehiah
I have just created a ticket for addressing this:
https://bugs.launchpad.net/txloadbalancer/+bug/280810
Fortunately, I have much of the code already written and should be able
to drop all the needed supporting infrastructure in place without many
changes.
d