[
https://issues.apache.org/jira/browse/HDDS-8475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duong updated HDDS-8475:
------------------------
Description:
In OM getKeyInfo API, unexpected IOException is returned as KEY_NOT_FOUND and
the original error is swallowed, ref:
[KeyManagerImpl|https://github.com/apache/ozone/blob/master/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java#L420-L420]
{code:java}
private OmKeyInfo readKeyInfo(OmKeyArgs args) throws IOException {
try {
...
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);
}{code}
was:
Unexpected IOException is returned as KEY_NOT_FOUND and the original error is
swallowed, ref:
[KeyManagerImpl|https://github.com/apache/ozone/blob/master/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java#L420-L420]
{code:java}
private OmKeyInfo readKeyInfo(OmKeyArgs args) throws IOException {
try {
...
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);
}{code}
> 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
> Assignee: Duong
> Priority: Major
> Labels: pull-request-available
>
> In OM getKeyInfo API, unexpected IOException is returned as KEY_NOT_FOUND and
> the original error is swallowed, ref:
> [KeyManagerImpl|https://github.com/apache/ozone/blob/master/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java#L420-L420]
> {code:java}
> private OmKeyInfo readKeyInfo(OmKeyArgs args) throws IOException {
> try {
> ...
> 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);
> }{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]