private ServerErrorCode repairDeleteRecordToLocalBlob(ReplicateBlobRequest replicateBlobRequest, BlobId blobId) {
    Store store = storeManager.getStore(blobId.getPartition());
    ServerErrorCode errorCode = ServerErrorCode.NoError;

    try {
      MessageInfo deleteRecord;
      deleteRecord = new MessageInfo.Builder(blobId, -1, blobId.getAccountId(), blobId.getContainerId(),
          replicateBlobRequest.getOperationTimeInMs()).isDeleted(true)
          .lifeVersion(replicateBlobRequest.getLifeVersion())
          .build();
      store.delete(Collections.singletonList(deleteRecord));
      logger.info("forceDelete blob {} : {}", blobId, deleteRecord);
    } catch (StoreException e) { // catch the store write exception
      if (e.getErrorCode() == StoreErrorCodes.IDDeleted || e.getErrorCode() == StoreErrorCodes.IDDeletedPermanently) {
        logger.info("ReplicateBlobRequest Blob {} already deleted for {}", blobId, replicateBlobRequest);
        errorCode = ServerErrorCode.NoError;
      } else {
        logger.error("ReplicateBlobRequest unknown exception to replicate {} of {}", blobId, replicateBlobRequest, e);
        errorCode = ErrorMapping.getStoreErrorMapping(e.getErrorCode());
      }
    }

    return errorCode;
  }
Get the Blob from the remote replica
@param replicateBlobRequest the {@link ReplicateBlobRequest}
@return a pair of the {@link ServerErrorCode} and the {@link GetResponse}.
ambry-server/src/main/java/com/github/ambry/server/AmbryRequests.java