boolean shouldDeleteMetadata(Exception abortCause) {
    if (abortCause != null && abortCause instanceof RouterException) {
      switch (((RouterException) abortCause).getErrorCode()) {
        /* If the blob is not found, then delete its metadata from frontend cache. */
        case BlobDoesNotExist:
        case BlobDeleted:
        case BlobExpired:
          return (blobMetadataCache != null && blobId.getBlobDataType() == BlobId.BlobDataType.METADATA);
      }
    }
    return false;
  }
This helper decides if metadata must be deleted from cache or not.
This mainly reduces the impact on metadata cache due to a large number of GET requests for
simple blobs that do not exist.
@param abortCause Reason to abort GetBlobOperation
@return True if metadata must be deleted, false otherwise.
ambry-router/src/main/java/com/github/ambry/router/GetBlobOperation.java