Skip to content

Conversation

@francoisferrand
Copy link
Contributor

@francoisferrand francoisferrand commented Oct 17, 2025

EODM happens when a DeleteMarker is the only remaining revision of an object.

When expiring it, either because ExpiredObjectDeleteMarker is set in the rule or because it matches the age criteria, the transitionTime is thus not intrinsic to the DeleteMarker but really depends on the time the other revisions were removed.

We don't have this information, so being precise is not possible here; however we must not use the DeleteMarker's LastModified date: it creates seemingly very slow expiration latency metrics (since the DeleteMarker may be arbitrary old, even though expiration is possible only for a very short time) which triggers alerts about slow lifecycle, even though it is working as expected.

In addition, depending on the exact rule, there may not be an age limit in that specific rule, which causes getTransitionTimestamp() to return null, which prevents collecting the metrics properly.

Consequently, we now just use the current time in that case, to avoid making metrics suspicious and triggering alert.

Issue: BB-719

This helps troubleshooting when the issue happens.

Issue: BB-719
EODM happens when a DeleteMarker is the only remaining revision of an
object.

When expiring it, either because `ExpiredObjectDeleteMarker` is set in
the rule or because it matches the age criteria, the `transitionTime`
is thus not intrinsic to the DeleteMarker but really depends on the
time the other revisions were removed.

We don't have this information, so being precise is not possible here;
however we must not use the DeleteMarker's `LastModified` date:
- it creates seemingly very slow expiration latency metrics (since the
  DeleteMarker may be arbitrary old, even though expiration is possible
  only for a very short time)
- which triggers alerts about slow lifecycle, even though it is working
  as expected.

In addition, depending on the exact rule, there may not be an age
limit in that specific rule, which causes `getTransitionTimestamp()` to
return `null`, which prevents collecting the metrics properly.

Consequently, we now just use the current time in that case, to avoid
making metrics suspicious and triggering alert.

Issue: BB-719
@bert-e
Copy link
Contributor

bert-e commented Oct 17, 2025

Hello francoisferrand,

My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.

Available options
name description privileged authored
/after_pull_request Wait for the given pull request id to be merged before continuing with the current one.
/bypass_author_approval Bypass the pull request author's approval
/bypass_build_status Bypass the build and test status
/bypass_commit_size Bypass the check on the size of the changeset TBA
/bypass_incompatible_branch Bypass the check on the source branch prefix
/bypass_jira_check Bypass the Jira issue check
/bypass_peer_approval Bypass the pull request peers' approval
/bypass_leader_approval Bypass the pull request leaders' approval
/approve Instruct Bert-E that the author has approved the pull request. ✍️
/create_pull_requests Allow the creation of integration pull requests.
/create_integration_branches Allow the creation of integration branches.
/no_octopus Prevent Wall-E from doing any octopus merge and use multiple consecutive merge instead
/unanimity Change review acceptance criteria from one reviewer at least to all reviewers
/wait Instruct Bert-E not to run until further notice.
Available commands
name description privileged
/help Print Bert-E's manual in the pull request.
/status Print Bert-E's current status in the pull request TBA
/clear Remove all comments from Bert-E from the history TBA
/retry Re-start a fresh build TBA
/build Re-start a fresh build TBA
/force_reset Delete integration branches & pull requests, and restart merge process from the beginning.
/reset Try to remove integration branches unless there are commits on them which do not appear on the source branch.

Status report is not available.

@bert-e
Copy link
Contributor

bert-e commented Oct 17, 2025

Incorrect fix version

The Fix Version/s in issue BB-719 contains:

  • None

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

  • 8.6.57

  • 9.0.18

  • 9.1.1

Please check the Fix Version/s of BB-719, or the target
branch of this pull request.

.setAttribute('target.key', verToExpire.Key)
.setAttribute('target.version', verToExpire.VersionId)
.setAttribute('details.dataStoreName', verToExpire.StorageClass || '')
// details.lastModified is not set for NCVE...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is NCVE ? Non current version expiration ?

Copy link
Contributor

@SylvainSenechal SylvainSenechal Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guess so, but is this comment a TODO ?

@bert-e
Copy link
Contributor

bert-e commented Oct 20, 2025

Incorrect fix version

The Fix Version/s in issue BB-719 contains:

  • 8.6.56

  • 9.0.18

  • 9.1.1

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

  • 8.6.57

  • 9.0.18

  • 9.1.1

Please check the Fix Version/s of BB-719, or the target
branch of this pull request.

Copy link

@DarkIsDude DarkIsDude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same do we have tests ?

@bert-e
Copy link
Contributor

bert-e commented Oct 24, 2025

Incorrect fix version

The Fix Version/s in issue BB-719 contains:

  • 8.6.56

  • 9.0.19

  • 9.1.1

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

  • 8.6.57

  • 9.0.19

  • 9.1.1

Please check the Fix Version/s of BB-719, or the target
branch of this pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants