Henry Chen created HDDS-16352:
---------------------------------
Summary: OM logs a missing lifecycle configuration as an ERROR
with a stack trace
Key: HDDS-16352
URL: https://issues.apache.org/jira/browse/HDDS-16352
Project: Apache Ozone
Issue Type: Bug
Reporter: Henry Chen
Assignee: Henry Chen
OmMetadataManagerImpl#getLifecycleConfiguration logs the not-found case at DEBUG
and then throws LIFECYCLE_CONFIGURATION_NOT_FOUND. The exception is immediately
caught by a catch-all on IOException a few lines below, which logs the same
condition again at ERROR together with a full stack trace:
https://github.com/apache/ozone/blob/a17ad8798a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java#L1806-L1818
OzoneManager#getLifecycleConfiguration additionally records the outcome as an
audit READ FAILURE with the exception attached.
A bucket without a lifecycle configuration is an expected outcome, not an error.
The DEBUG line right before the throw shows that was the original intent; the
ERROR comes from the catch-all being wider than intended.
This is harmless today because the only caller is
GetBucketLifecycleConfiguration, which is not a hot path. HDDS-16151 adds a
lifecycle lookup to HeadObject, so every HEAD on a bucket without a lifecycle
configuration -- the common case -- would produce an ERROR stack trace and an
audit failure record on the OM side.
Proposed fix: let LIFECYCLE_CONFIGURATION_NOT_FOUND propagate without the ERROR
log, and do not classify it as an audit read failure. Genuine failures should
keep logging as they do today.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]