Currently mount table cache is updated periodically, by default cache is updated every minute. After change in mount table, user operations may still use old mount table. This is bit wrong.
To update mount table cache, maybe we can do following
- Add refresh API in MountTableManager which will update mount table cache.
- When there is a change in mount table entries, router admin server can update its cache and ask other routers to update their cache. For example if there are three routers R1,R2,R3 in a cluster then add mount table entry API, at admin server side, will perform following sequence of action
- user submit add mount table entry request on R1
- R1 adds the mount table entry in state store
- R1 call refresh API on R2
- R1 calls refresh API on R3
- R1 directly freshest its cache
- Add mount table entry response send back to user.