Skip to content

Commit ad506a0

Browse files
committed
Avoid using dispatchBadRequest
1 parent e3ff338 commit ad506a0

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

server/src/main/java/org/elasticsearch/http/AbstractHttpServerTransport.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.elasticsearch.core.RefCounted;
3939
import org.elasticsearch.rest.RestChannel;
4040
import org.elasticsearch.rest.RestRequest;
41+
import org.elasticsearch.rest.RestResponse;
4142
import org.elasticsearch.tasks.Task;
4243
import org.elasticsearch.telemetry.tracing.Tracer;
4344
import org.elasticsearch.threadpool.ThreadPool;
@@ -486,7 +487,12 @@ void dispatchRequest(final RestRequest restRequest, final RestChannel channel, f
486487
try {
487488
populatePerRequestThreadContext(restRequest, threadContext);
488489
} catch (Exception e) {
489-
dispatcher.dispatchBadRequest(channel, threadContext, e);
490+
try {
491+
channel.sendResponse(new RestResponse(channel, e));
492+
} catch (Exception inner) {
493+
inner.addSuppressed(e);
494+
logger.error(() -> "failed to send failure response for uri [" + restRequest.uri() + "]", inner);
495+
}
490496
return;
491497
}
492498
dispatcher.dispatchRequest(restRequest, channel, threadContext);

0 commit comments

Comments
 (0)