Undertow prematurely closes connection
by Selvakumar Govindaraj
Hi, I'm new to undertow world..
I've a wrapper that handles the exchange end logic.. Before calling the wrapper undertow itself ends the exchange and calls the exchange complete listener. This issue is happening randomly and not for all requests. I've enabled debugging it didn't provide proper information. I'm not sure how to identify the action which closes the exchange?
For Ex :
RequestDispatcher {
void dispatch() {
this.exchange.dispatch(executor, () -> {
httpAction.execute(exchangeWrapper);
});
}
}
ResponseSender { // This class is used everywhere but send method called only once
void send() {
if (!this.exchange.isResponseStarted()) {
throw error;
} else {
writeHeaders and
this.exchange.endExchange();
}
}
}
UndertowConfig {
void init() {
this.routingHandler = Handlers.routing();
this.server = Undertow.builder()
.setWorkerThreads(50)
.setServerOption(UndertowOptions.ENABLE_HTTP2, true)
.setServerOption(UndertowOptions.NO_REQUEST_TIMEOUT, 15000)
.setServerOption(UndertowOptions.REQUEST_PARSE_TIMEOUT, 150000)
.setServerOption(UndertowOptions.IDLE_TIMEOUT, 150000)
.addHttpListener(Integer.parseInt(port), "0.0.0.0", routingHandler).build();
}
}
Please assist me on this
3 months, 1 week
Help - Undertow prematurely closes connection
by Selvakumar Govindharaj
Hi, I'm new to the undertow world..
I've a wrapper that handles the exchange end logic.. Before calling the
wrapper, undertow itself ends the exchange and calls the exchange complete
listener. This issue is happening randomly and not for all requests. I've
enabled debugging but it didn't provide proper information. I'm not sure
how to identify the action which closes the exchange?
For Ex :
RequestDispatcher {
void dispatch() {
this.exchange.dispatch(executor, () -> {
httpAction.execute(exchangeWrapper);
});
}
}
ResponseSender { // This class is used everywhere but send method called
only once
void send() {
if (!this.exchange.isResponseStarted()) {
throw error;
} else {
writeHeaders and
this.exchange.endExchange();
}
}
}
UndertowConfig {
void init() {
this.routingHandler = Handlers.routing();
this.server = Undertow.builder()
.setWorkerThreads(50)
.setServerOption(UndertowOptions.ENABLE_HTTP2, true)
.setServerOption(UndertowOptions.NO_REQUEST_TIMEOUT, 15000)
.setServerOption(UndertowOptions.REQUEST_PARSE_TIMEOUT,
150000)
.setServerOption(UndertowOptions.IDLE_TIMEOUT, 150000)
.addHttpListener(Integer.parseInt(port), "0.0.0.0",
routingHandler).build();
}
}
Please help me on this
--
Regards
Selvakumar
3 months, 1 week
Undertow prematurely closes connection
by Selvakumar Govindaraj
Hi, I'm new to undertow world..
I've a wrapper that handles the exchange end logic.. Before calling the wrapper undertow itself ends the exchange and calls the exchange complete listener. This issue is happening randomly and not for all requests. I've enabled debugging it didn't provide proper information. I'm not sure how to identify the action which closes the exchange?
For Ex :
RequestDispatcher {
void dispatch() {
this.exchange.dispatch(executor, () -> {
httpAction.execute(exchangeWrapper);
});
}
}
ResponseSender { // This class is used everywhere but send method called only once
void send() {
if (!this.exchange.isResponseStarted()) {
throw error;
} else {
writeHeaders and
this.exchange.endExchange();
}
}
}
UndertowConfig {
void init() {
this.routingHandler = Handlers.routing();
this.server = Undertow.builder()
.setWorkerThreads(50)
.setServerOption(UndertowOptions.ENABLE_HTTP2, true)
.setServerOption(UndertowOptions.NO_REQUEST_TIMEOUT, 15000)
.setServerOption(UndertowOptions.REQUEST_PARSE_TIMEOUT, 150000)
.setServerOption(UndertowOptions.IDLE_TIMEOUT, 150000)
.addHttpListener(Integer.parseInt(port), "0.0.0.0", routingHandler).build();
}
}
Please assist me on this
3 months, 1 week