mqliang commented on pull request #8083: URL: https://github.com/apache/pinot/pull/8083#issuecomment-1023919963
> The problem with manual instrumentation like this is every Pinot user has to pay for it whether they want to use it or not. How about time-out when waiting lock but does not emit metric? In this way, it will not bring overhead for "happy path". * for "happy" queries, they will acquire the lock before the time-out, no overhead for them * for "unhappy" queries, they will get an interruption from timer when time-out elapsed, then remove themself from the lock waiting queue > there are better ways to pinpoint lock contention, with more context and at much lower overhead than recording expensive metrics > ServerChannels should be reworked to avoid this. Agree that ServerChannels should be reworked. I am considering gRPC or HTTP/2, which can split large request into small chunks, and multiplex/interleave multiple requests on a single TCP connection. Otherwise, even if we alleviate the lock contention, "head line of blocking" effect is hard to resolve as long as we must write multiple requests to channel sequentially. -- 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...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org