Duong created HDDS-8475:
---------------------------
Summary: Unexpected IOException is returned as KEY_NOT_FOUND
Key: HDDS-8475
URL: https://issues.apache.org/jira/browse/HDDS-8475
Project: Apache Ozone
Issue Type: Improvement
Reporter: Duong
{code:java}
private OmKeyInfo readKeyInfo(OmKeyArgs args) throws IOException {
String volumeName = args.getVolumeName();
String bucketName = args.getBucketName();
String keyName = args.getKeyName();
OmKeyInfo value = null;
metadataManager.getLock().acquireReadLock(BUCKET_LOCK, volumeName,
bucketName);
try {
BucketLayout bucketLayout =
getBucketLayout(metadataManager, args.getVolumeName(),
args.getBucketName());
keyName = OMClientRequest
.validateAndNormalizeKey(enableFileSystemPaths, keyName,
bucketLayout);
if (bucketLayout.isFileSystemOptimized()) {
value = getOmKeyInfoFSO(volumeName, bucketName, keyName);
} else {
value = getOmKeyInfoDirectoryAware(volumeName, bucketName, keyName);
if (bucketLayout.isLegacy() && value != null && !value.isFile()) {
value = null; // Legacy buckets do not report key info for directories
}
}
} catch (IOException ex) {
if (ex instanceof OMException) {
throw ex;
}
if (LOG.isDebugEnabled()) {
LOG.debug("Get key failed for volume:{} bucket:{} key:{}", volumeName,
bucketName, keyName, ex);
}
throw new OMException(ex.getMessage(), KEY_NOT_FOUND);
} finally {
metadataManager.getLock().releaseReadLock(BUCKET_LOCK, volumeName,
bucketName);
} {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]