Backport #29580 Fix #29562 Fix #29762 Follow #29531 (cherry picked from commit bb2640c485071088dd91e47fb510c44e028624fa)