// cherry-pick 52e337a38d36f6295a67970d873b4be2fa0d30ad