One or more non-transitory computer-readable media storing instructions for use in a system in which a plurality of host servers communicate with each other over one or more networks and access a common data storage pool, wherein the instructions include instructions which, when executed by one or more computing devices, cause:
- designating a single host server of the plurality of host servers to serve as currently-designated host for a particular data object;
- wherein the particular data object includes multiple data units;
- maintaining, hosting history metadata that includes metadata about one or more of the plurality of host servers that:
- during one or more periods prior to a migration operation, were designated as the currently-designated host for the particular data object, and are not, after the migration operation, the currently-designated host for the particular data object;
- responsive to a local host server being designated as the currently-designated host for the particular data object, initiating the migration operation;
- during the migration operation, migrating the particular data object, to the local host server;
- while the particular data object is being migrated to the local host server, and one or more of the multiple data units of the particular data object reside in a host server of the plurality of host servers that is not the currently-designated host of the particular data object, receiving a request to access the one or more data units of the particular data object by an entity within the local host server;
- wherein the one or more data units requested by the request include a requested data unit;
- querying a local cache within the local host server to determine if the requested data unit is present;
- if the requested data unit is present in the local cache, fetching the requested data unit from the local cache;
- if the requested data unit is not present in the local cache, performing:
- inspecting the hosting history metadata maintained for the particular data object;
- based on the hosting history metadata, selecting at least one host server, that was the currently-designated host of the particular data object during a period before the migration operation, and that is no longer the currently-designated host of the particular data object, to query for the requested data unit;
- querying, over the one or more networks, a respective cache within the at least one host server, which is different from the local host server, to determine if the requested data unit of the particular data object is present remotely and, if so, fetching the requested data unit therefrom over the one or more networks;
- and if the requested data unit is not present in the respective cache of the at least one host server, fetching the requested data unit from the common data storage pool.