Author: Da Zhou <da.zhou@microsoft.com> (cherry picked from commit 9dbb2b67c6fa69a663c7c23fbb876bac4b6c09ce)