GlassFish can becomes unresponsible when it's requests queue reach it's maximum.
By default, the max pending requests count is 4096. When queue size reach that
limit, GlassFish starts dropping requests automatically by sending an error page
to the user using its acceptor thread (SelectorThread).
If the user isn't reading the response fast enough, there is probability that
GlassFish can becomes unresponsitive for a short period of time (until the slow
client read the error page response).
The workaround is to increase the max-pending-count attribute of
connection-pool, but that will just delay the problem. The solution is to drop
the connection when the client isn't reading the response