HDFS-12076. Ozone: Review all cases where we are returning FAILED_INTERNAL_ERROR. Contributed by Chen Liang.
This commit is contained in:
parent
8caa5d1ac0
commit
a353094ba4
@ -108,11 +108,11 @@ public KsmKeyInfo allocateKey(KsmKeyArgs args) throws IOException {
|
|||||||
LOG.debug("Key {} allocated in volume {} bucket {}",
|
LOG.debug("Key {} allocated in volume {} bucket {}",
|
||||||
keyName, volumeName, bucketName);
|
keyName, volumeName, bucketName);
|
||||||
return keyBlock;
|
return keyBlock;
|
||||||
} catch (Exception ex) {
|
} catch (IOException ex) {
|
||||||
LOG.error("Key allocation failed for volume:{} bucket:{} key:{}",
|
LOG.error("Key allocation failed for volume:{} bucket:{} key:{}",
|
||||||
volumeName, bucketName, keyName, ex);
|
volumeName, bucketName, keyName, ex);
|
||||||
throw new KSMException(ex.getMessage(),
|
throw new KSMException(ex.getMessage(),
|
||||||
KSMException.ResultCodes.FAILED_INTERNAL_ERROR);
|
KSMException.ResultCodes.FAILED_KEY_ALLOCATION);
|
||||||
} finally {
|
} finally {
|
||||||
metadataManager.writeLock().unlock();
|
metadataManager.writeLock().unlock();
|
||||||
}
|
}
|
||||||
@ -160,7 +160,7 @@ public void deleteKey(KsmKeyArgs args) throws IOException {
|
|||||||
Collections.singleton(keyInfo.getBlockID()));
|
Collections.singleton(keyInfo.getBlockID()));
|
||||||
if (resultList.size() != 1) {
|
if (resultList.size() != 1) {
|
||||||
throw new KSMException("Delete result size from SCM is wrong",
|
throw new KSMException("Delete result size from SCM is wrong",
|
||||||
ResultCodes.FAILED_INTERNAL_ERROR);
|
ResultCodes.FAILED_KEY_DELETION);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resultList.get(0).getResult() == Result.success) {
|
if (resultList.get(0).getResult() == Result.success) {
|
||||||
@ -169,13 +169,13 @@ public void deleteKey(KsmKeyArgs args) throws IOException {
|
|||||||
metadataManager.deleteKey(objectKey);
|
metadataManager.deleteKey(objectKey);
|
||||||
} else {
|
} else {
|
||||||
throw new KSMException("Cannot delete key from SCM",
|
throw new KSMException("Cannot delete key from SCM",
|
||||||
ResultCodes.FAILED_INTERNAL_ERROR);
|
ResultCodes.FAILED_KEY_DELETION);
|
||||||
}
|
}
|
||||||
} catch (DBException ex) {
|
} catch (DBException ex) {
|
||||||
LOG.error(String.format("Delete key failed for volume:%s "
|
LOG.error(String.format("Delete key failed for volume:%s "
|
||||||
+ "bucket:%s key:%s", volumeName, bucketName, keyName), ex);
|
+ "bucket:%s key:%s", volumeName, bucketName, keyName), ex);
|
||||||
throw new KSMException(ex.getMessage(), ex,
|
throw new KSMException(ex.getMessage(), ex,
|
||||||
ResultCodes.FAILED_INTERNAL_ERROR);
|
ResultCodes.FAILED_KEY_DELETION);
|
||||||
} finally {
|
} finally {
|
||||||
metadataManager.writeLock().unlock();
|
metadataManager.writeLock().unlock();
|
||||||
}
|
}
|
||||||
|
@ -391,7 +391,7 @@ public List<KsmVolumeArgs> listVolumes(String userName,
|
|||||||
// this probably means ksm db is corrupted or some entries are
|
// this probably means ksm db is corrupted or some entries are
|
||||||
// accidentally removed.
|
// accidentally removed.
|
||||||
throw new KSMException("Volume info not found for " + volumeName,
|
throw new KSMException("Volume info not found for " + volumeName,
|
||||||
ResultCodes.FAILED_INTERNAL_ERROR);
|
ResultCodes.FAILED_VOLUME_NOT_FOUND);
|
||||||
}
|
}
|
||||||
VolumeInfo info = VolumeInfo.parseFrom(volumeInfo);
|
VolumeInfo info = VolumeInfo.parseFrom(volumeInfo);
|
||||||
KsmVolumeArgs volumeArgs = KsmVolumeArgs.getFromProtobuf(info);
|
KsmVolumeArgs volumeArgs = KsmVolumeArgs.getFromProtobuf(info);
|
||||||
@ -421,7 +421,7 @@ private VolumeList getVolumesByUser(byte[] userNameKey)
|
|||||||
} catch (InvalidProtocolBufferException e) {
|
} catch (InvalidProtocolBufferException e) {
|
||||||
throw new KSMException("Unable to get volumes info by the given user, "
|
throw new KSMException("Unable to get volumes info by the given user, "
|
||||||
+ "metadata might be corrupted",
|
+ "metadata might be corrupted",
|
||||||
e, ResultCodes.FAILED_INTERNAL_ERROR);
|
e, ResultCodes.FAILED_METADATA_ERROR);
|
||||||
}
|
}
|
||||||
return volumes;
|
return volumes;
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,9 @@ public enum ResultCodes {
|
|||||||
FAILED_BUCKET_NOT_EMPTY,
|
FAILED_BUCKET_NOT_EMPTY,
|
||||||
FAILED_KEY_ALREADY_EXISTS,
|
FAILED_KEY_ALREADY_EXISTS,
|
||||||
FAILED_KEY_NOT_FOUND,
|
FAILED_KEY_NOT_FOUND,
|
||||||
|
FAILED_KEY_ALLOCATION,
|
||||||
|
FAILED_KEY_DELETION,
|
||||||
|
FAILED_METADATA_ERROR,
|
||||||
FAILED_INTERNAL_ERROR
|
FAILED_INTERNAL_ERROR
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user