zhfeng commented on code in PR #17528:
URL: https://github.com/apache/camel/pull/17528#discussion_r2020532022


##########
components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/DefaultHttpRequestBodyHandler.java:
##########
@@ -27,21 +27,27 @@
 import static 
org.apache.camel.component.platform.http.vertx.VertxPlatformHttpSupport.isMultiPartFormData;
 
 /**
- * Default {@link HttpRequestBodyHandler} that will read to read the entire 
HTTP request body into memory.
+ * Default {@link HttpRequestBodyHandler} that will read the entire HTTP 
request body into memory if useBodyHandler is
+ * enabled.
  */
 class DefaultHttpRequestBodyHandler extends HttpRequestBodyHandler {
-    DefaultHttpRequestBodyHandler(Handler<RoutingContext> delegate) {
+    final boolean useBodyHandler;
+
+    DefaultHttpRequestBodyHandler(Handler<RoutingContext> delegate, boolean 
useBodyHandler) {

Review Comment:
   The root case is that we are running the toD in the `vertx-worker-thread` , 
and there is a `HttpConnetion` which is  running in `vertx-event-loop-thread`  
still reads the content from the network. So if the vertx-http forwards the 
body with `HttpServerRequest` after `vertx-event-loop-thread`, it can not read 
any byte and is hanging. Then the fix is to pause the http request in the 
`NoOpHttpRequestBodyHandler`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to