You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by "gianm (via GitHub)" <gi...@apache.org> on 2023/04/20 08:45:39 UTC

[GitHub] [druid] gianm commented on pull request #14092: Refresh DruidLeaderClient cache selectively for non-200 responses

gianm commented on PR #14092:
URL: https://github.com/apache/druid/pull/14092#issuecomment-1515953789

   A note, there's also the newer `ServiceClient` and `ServiceLocator` (with high-level clients like `OverlordClient` and `CoordinatorServiceClient` that I don't think have this problem. They use `DruidNodeDiscovery.Listener` rather than periodic `getAllNodes`, so they update continuously as the services come and go.
   
   So, we can likely improve further by migrating things to ServiceClient.
   
   #12696 introduced these and discusses them in more detail. The PR calls out some issues with DruidLeaderClient:
   
   
   
   > DruidLeaderClient does retries in its "go" method, but only retries
   > exactly 5 times, does not sleep between retries, and does not retry
   > retryable HTTP codes like 502, 503, 504. (It only retries IOExceptions.)
   > ServiceClient handles retries in a more reasonable way.
   >
   > DruidLeaderClient's methods are all synchronous, whereas ServiceClient
   > methods are asynchronous. This is used in one place so far: the
   > SpecificTaskServiceLocator, so we don't need to block a thread trying
   > to locate a task. It can be used in other places in the future.


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

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


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