You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2022/02/02 06:23:01 UTC

[GitHub] [pinot] siddharthteotia commented on a change in pull request #8105: Add a broker metric to distinguish exception happens when acquire channel lock or when send request to server

siddharthteotia commented on a change in pull request #8105:
URL: https://github.com/apache/pinot/pull/8105#discussion_r797303905



##########
File path: pinot-core/src/main/java/org/apache/pinot/core/transport/QueryRouter.java
##########
@@ -119,22 +120,31 @@ public AsyncQueryResponse submitQuery(long requestId, String rawTableName,
       ServerRoutingInstance serverRoutingInstance = entry.getKey();
       ServerChannels serverChannels = serverRoutingInstance.isTlsEnabled() ? _serverChannelsTls : _serverChannels;
       try {
-        serverChannels.sendRequest(rawTableName, asyncQueryResponse, serverRoutingInstance, entry.getValue(),
-            timeoutMs);
+        serverChannels
+            .sendRequest(rawTableName, asyncQueryResponse, serverRoutingInstance, entry.getValue(), timeoutMs);
         asyncQueryResponse.markRequestSubmitted(serverRoutingInstance);
+      } catch (TimeoutException e) {
+        _brokerMetrics.addMeteredTableValue(rawTableName, BrokerMeter.REQUEST_CHANNEL_LOCK_TIMEOUT_EXCEPTIONS, 1);

Review comment:
       There are 3 sendRequest() in ServerChannels.
   
   - public API at ServerChannels level
   - internal API at ServerChannel level where lock is attempted
   - internal API called by previous one which is invoked after lock is acquired
   
   The one that will throw the Timeout exception while waiting to acquire channel lock is the 2nd one. If for some reason, 3rd one throws TimeoutException as well or let's say someone makes a code change for it to throw TimeoutException, we won't be able to distinguish the reason here because we are not checking the message.




-- 
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-unsubscribe@pinot.apache.org

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



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org