alex-plekhanov commented on code in PR #11328:
URL: https://github.com/apache/ignite/pull/11328#discussion_r1591960420


##########
modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/ClientRequestHandler.java:
##########
@@ -118,9 +121,20 @@ private ClientListenerResponse 
handle0(ClientListenerRequest req) {
         if (req0.isAsync(ctx)) {
             IgniteInternalFuture<ClientResponse> fut = req0.processAsync(ctx);
 
+            if (!fut.isDone()) {
+                try {
+                    // Give request a chance to be executed and response 
processed by the current thread,
+                    // so we can avoid any performance drops caused by async 
requests execution.
+                    fut.get(ASYNC_REQUEST_WAIT_TIMEOUT);

Review Comment:
   @ptupitsyn, it's not IO thread, it's client-connector thread. Before 
IGNITE-21183 these threads are always blocked, and it seems to be ok except the 
cases with waiting on locked keys. Now we wait extra time only on locked keys, 
in other cases we release the thread as soon as result become available. 
   Yes, I have benchmark results for this change, performance drop is fixed 
now. I will publish results today as a comment to the ticket. 



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to