A method for providing cache coherency, comprising: requesting to read, by a second client cache system, a data element having an associated metadata element; detecting the metadata element in a first client cache system in response to a read request by the second client cache system to read the metadata element; writing, by the first client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the first client cache system; invalidating, by the first client cache system, the metadata element in the first client cache system in response to the detection of the metadata element in the first client cache system; and completing the read request, including the second client cache system receiving the metadata element and all data elements associated with the metadata element, characterised by further comprising: storing, by the first client cache system, a pending state indication in association with the metadata element in the first client cache system before the read request by the second client cache system to read the metadata element; detecting the metadata element in the second client cache system, including detecting the pending state indication; invalidating, by the second client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the second client cache system; and deferring completing the read request until after writing, by the first client cache system, the one or more cache lines containing the metadata element and all data elements associated with the metadata element. requesting to read, by a second client cache system, a data element having an associated metadata element; detecting the metadata element in a first client cache system in response to a read request by the second client cache system to read the metadata element; writing, by the first client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the first client cache system; invalidating, by the first client cache system, the metadata element in the first client cache system in response to the detection of the metadata element in the first client cache system; and completing the read request, including the second client cache system receiving the metadata element and all data elements associated with the metadata element, characterised by further comprising: storing, by the first client cache system, a pending state indication in association with the metadata element in the first client cache system before the read request by the second client cache system to read the metadata element; detecting the metadata element in the second client cache system, including detecting the pending state indication; invalidating, by the second client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the second client cache system; and deferring completing the read request until after writing, by the first client cache system, the one or more cache lines containing the metadata element and all data elements associated with the metadata element. storing, by the first client cache system, a pending state indication in association with the metadata element in the first client cache system before the read request by the second client cache system to read the metadata element; detecting the metadata element in the second client cache system, including detecting the pending state indication; invalidating, by the second client cache system, one or more cache lines containing the metadata element and all data elements associated with the metadata element in response to detecting the metadata element in the second client cache system; and deferring completing the read request until after writing, by the first client cache system, the one or more cache lines containing the metadata element and all data elements associated with the metadata element.