Cherry-pick fail. Breaks linux. Will land again shortly. This reverts commit e8cf98c8. This reverts commit d953856d. This reverts commit 752bbd6b.