kezhenxu94 opened a new pull request, #11639: URL: https://github.com/apache/skywalking/pull/11639
I've rechecked the [original PR](https://github.com/apache/skywalking/pull/3225) that introduces the configuration and [the discussion in mailing list](https://lists.apache.org/thread/40h6oy1yt835vn6c283h014fp8hzclcv). Adding the 2 configurations `gRPCThreadPoolSize` and `gRPCThreadPoolQueueSize` is OK but setting the default values to `core * 4` and `10000` is unreasonable in most cases. The case discussed in the mailing list is that the user has low resources for OAP and they don't want the OAP to crash, limiting the size of thread pool can do the trick but it scarifies with the throughput, an ideal approach is to scale the OAP and make it work correctly. But adding the configurations is also a good workaround for users who don't want to add resources to OAP but can tolerate the throughput. This PR only sets a custom thread executor if the users want so by setting the configurations, otherwise it uses the default executor set in gRPC and netty. This PR solves a bad case where users can give enough resources to OAP, but because the default configurations `gRPCThreadPoolSize` and `gRPCThreadPoolQueueSize` are too small, the OAP doesn't work as expected, it crashes with Direct Memory OOM. - [x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #<issue number>. - [x] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md). -- 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]
