During state transfer, new owners are only write owners, and they do not receive remote get commands or touch commands.
This means a key can expire too early in a scenario like this:
- A owns k=v with max-idle=10000, last-access=0
- state transfer starts, read-owners=A, write-owners=AB
- A sends to B entry k=v with last-access=0
- get(k) updates last-access=9000 on A but not on B
- state transfer ends, read-owners=write-owners=AB
- rebalance ends, read-owners=write-owners=B
- get(k) at timestamp 11000 finds k=v has expired and removes it
Touch commands are more like writes than reads, so they should be sent to both read and write-only owners.