[undertow-dev] When to call HttpServerExchange#endExchange explicitly?

Girish Sharma scrapmachines at gmail.com
Tue Jun 5 10:44:28 EDT 2018


Hi there,

I was wondering when to call the endExchange method on the exchange
manually? Is it required to call it if we have called startBlocking() on
the exchange?

How is the getResponseSender().sen("SOME TEXT") behavior if we call
endExchange() with and without a prior startBlocking()  call

*tldr;*
I have been using Undertow for a while now. We were originally only using
request parameters from the incoming request and thus, we never had to
start the blocking exchange. Recently we started consuming the payload of a
POST call and thus, we started blocking the exchange. Post this we observed
memory leaks. While we were trying to figure out the cause of the memory
leaks, we made a few changes. While the memory leaks got fixes, we started
observing incomplete responses from some of the API. Basically, the
exchange was being ended before the async, multi part, response was
completely sent off. While trying to fix the issue, should I completely
remove the explicit endExchange call or leave it there for the
startBlocking() branch of code and only remove for non blocking exchange?

Regards
-- 
Girish Sharma
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/undertow-dev/attachments/20180605/db1edd73/attachment-0001.html 


More information about the undertow-dev mailing list