You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "alex-plekhanov (via GitHub)" <gi...@apache.org> on 2024/05/07 07:41:14 UTC

Re: [PR] IGNITE-22101 Attempt to fix performance drop on async thin client requests [ignite]

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: notifications-unsubscribe@ignite.apache.org

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