Thank you for all of your help, very informative.
Regarding your last answer, I will look at it in greater detail and let you
know if I have questions (I am less familiar with some of the term you
mention there).

On Fri, Feb 5, 2016 at 11:48 PM, Christopher Schultz <
ch...@christopherschultz.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Yuval,
>
> On 2/4/16 3:14 AM, Yuval Schwartz wrote:
> >> On Wed, Feb 3, 2016 at 11:15 PM, Christopher Schultz <
> >> ch...@christopherschultz.net> wrote:
> >
> > ELB usually uses HTTP keepalive, so that might be part of the
> > issue.
> >
> >> ELB has a feature called "connection draining" which keeps
> >> connections open while the instance is de-registering (my
> >> instance begins de-registering when I shutdown tomcat) for a set
> >> period of time (default: 300 s). It is this connection that stays
> >> open when tomcat shuts down that causes the WARNING message to
> >> appear. If I disable connection draining then I stop seeing the
> >> WARNING when I shutdown tomcat.
>
> That'll do it.
>
> So, if you had waited 5 minutes between removing your node from ELB
> and shutting-down Tomcat, you'd find that there also no errors.
>
> >> However, "connection draining" seems like a nice feature. One
> >> option to overcome this WARNING while still keeping connection
> >> draining would be to first undeploy my application, then, after
> >> the connection draining time period expires, shutdown tomcat
> >> (tested this, doesn't throw the warning).
> >
> >> Do you have any other recommendations for how I might keep this
> >> feature and adjust something else in my configuration? Any light
> >> to shed on the matter?
>
> Wait 5 minutes?
>
> 5 minutes is quite a long time to drain the node. How long is the
> average request? In production, we use ELB with 30-second draining.
>
> (Then again, we have a layer of stateless httpd instances in
> between... when we drain our Tomcat nodes, we typically wait over an
> hour.)
>
> I think this might come down to the lack of flexibility of ELB.
>
> The way we use ELB, we are balancing between a set of httpd instances
> which are *all* proxying to the same set of back-end Tomcat nodes. So
> the currently-enabled set of httpd instances is irrelevant to the
> client: any httpd can get to any Tomcat.
>
> When we want to service an httpd instance, we remove it from the ELB
> with a short draining period and reboot, upgrade, whatever. No
> interruption to the Tomcat nodes.
>
> If we want to service a Tomcat node, we bring-down the node from
> *httpd*, not from ELB. We are using mod_jk which allows you to put a
> Tomcat node into a "disabled" state, which means existing users will
> still be routed to the node that is "going down" but new users will go
> to other nodes instead. Once the number of sessions on that node goes
> to zero, we STOP the node in mod_jk (NO TRAFFIC AT ALL to the node)
> and then service it.
>
> ELB lacks this two-phase removal feature that mod_jk has. That means,
> when you remove a node from ELB, the countdown starts for your
> users... if they don't log off from that node, they will lose their
> sessions in T minus 5 minutes. If you are using sticky sessions with
> no clustering (like we are), then those users are just out of luck
> when the 5-minute timer runs out.
>
> If you want better behavior, you are going to need more complexity.
>
> /On the other hand/, if you *are* clustered and don't use (or need)
> sticky sessions, then you can significantly reduce that user-draining
> period to the maximum reasonable response time you expect to be able
> to serve. If you have a super-fast entirely-clustered (or stateless)
> service, set the drain time to 1 second. If you have requests that
> routinely last 45 seconds, set the drain-time to more like 90 seconds.
> 5 minutes doesn't seem like it makes any sense to be in any scenario,
> though.
>
> Hope that helps,
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iEYEARECAAYFAla1GMcACgkQ9CaO5/Lv0PBO+ACeJLP4z3DUfcUqVmG30w7sYSsN
> 5ggAoLDU8DSnA1vjVppiN9QU11GFsfng
> =RhN2
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to