Execute_local_actiivty use a different worker when some activity timed out

Hello. I’m having a workflow executing 5 “local activities”, so that a file generated from previous activity can be accessible by the following activities. Most of the case it’s fine, but in case of timeout, a different worker would pick the work from it left (the above image shows different “identity” for the activities). Is this expected? Why is this the case? Thanks.

Never use local activity for locality. They are purely a performance optimization and provide no guarantee of remaining on the same host.

Use normal activities with Sessions (Go only) or host specific task queues.

Make sense. Thanks