[EventEngine] Cleanup: EventEngine client, listener, and dns experiments are on by default on all platforms.#39079
[EventEngine] Cleanup: EventEngine client, listener, and dns experiments are on by default on all platforms.#39079drfloob wants to merge 2 commits intogrpc:masterfrom
Conversation
|
@drfloob Thanks AJ! I believe iOS rollout already happened using @HannahShiSFB Could you help confirm this is the case (and what are the effect of this change on iOS)? |
@sampajano Please see all code paths that call |
|
They for sure are enabled by default as we get several user reports related to event engine on iOS during the past couple months. It's controlled by GRPC_IOS_EVENT_ENGINE_CLIENT. |
|
@HannahShiSFB Thanks for confirming, Hannah! Although, do you mind also taking a quick look into how is It could give us more knowledge and confidence on how rollout works on iOS going forwards. |
|
#38936 moved the enable of event engine client to iomgr |
|
dns is enabled in #34109 |
That is only for the client channel resolver. There are many other resolver, client, and endpoint uses. Please grep the code for the functions I listed above, those are spots where iOS is likely not using the EventEngine. |
That works with one place where EventEngine client connections are made, not all of them. The experiment system doesn't work with iOS, in that there is no option for runtime configuration. The functions I listed above are either off or on at compile time for iOS, and they have been off. |
|
Neither IsEventEngineDnsEnabled or IsEventEngineClientEnabled matter with ios when GRPC_IOS_EVENT_ENGINE_CLIENT is defined, which is the default in port_platform.h |
Thanks for confirming! I also ran a test that'd crash iOS tests if any of the EE experiment code paths were used. #39129. It passed just fine. Given that, I believe this will be a no-op change for iOS. |
Ahh that's smart! Thanks for helping to confirm this, AJ! |
Update: it was confirmed that iOS and all other OSS platforms have been using these experiments for months, albeit via a different overlapping mechanism. This change should now be a no-op cleanup.
Original PR claim:
These experiments were not enabled by default [on iOS], and so it seems none of the experimental code paths have been used. This is effectively a full EventEngine client and DNS rollout on iOS.