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