void undeleteBlob(BlobId blobId, ConnectedChannel channel) throws IOException {
    UndeleteRequest unDeleteRequest = new UndeleteRequest(1, "client1", blobId, time.milliseconds());
    UndeleteResponse undeleteResponse =
        UndeleteResponse.readFrom(channel.sendAndReceive(unDeleteRequest).getInputStream());
    Assert.assertEquals("BlobId " + blobId + " undelete failed", ServerErrorCode.NoError, undeleteResponse.getError());
  }
Undeletes a single blob from ambry server node
@param blobId the {@link BlobId} that needs to be undeleted
@param channel the {@link ConnectedChannel} to use to send and receive data
@throws IOException
ambry-server/src/integration-test/java/com/github/ambry/server/ServerHardDeleteTest.java