synchronized void setExchangeMetadataResponse(ReplicaThread.ExchangeMetadataResponse exchangeMetadataResponse) {
    // Synchronized to avoid conflict between replica threads setting new exchangeMetadataResponse received for this replica
    // and replica threads going through existing metadata response (via updateMissingMessagesInMetadataResponse()) to
    // to compare newly written messages to store with missing message set in metadata response.
    this.exchangeMetadataResponse = exchangeMetadataResponse;
  }
Set the metadata response received for this replica in the most recent replication cycle.
@param exchangeMetadataResponse contains metadata response (missing keys, token info, local lag from remote, etc.).
ambry-replication/src/main/java/com/github/ambry/replication/RemoteReplicaInfo.java